View Javadoc
1   package org.junit.tests.experimental.results;
2   
3   import static java.util.Arrays.asList;
4   import static org.hamcrest.CoreMatchers.allOf;
5   import static org.hamcrest.CoreMatchers.containsString;
6   import static org.junit.Assert.assertThat;
7   
8   import java.util.Arrays;
9   
10  import org.junit.experimental.results.PrintableResult;
11  import org.junit.experimental.theories.DataPoint;
12  import org.junit.experimental.theories.Theories;
13  import org.junit.experimental.theories.Theory;
14  import org.junit.runner.Description;
15  import org.junit.runner.RunWith;
16  import org.junit.runner.notification.Failure;
17  
18  @RunWith(Theories.class)
19  public class PrintableResultTest {
20      @Theory(nullsAccepted = false)
21      public void backTraceHasGoodToString(String descriptionName,
22              final String stackTraceClassName) {
23          Failure failure = new Failure(Description
24                  .createSuiteDescription(descriptionName), new Throwable() {
25              private static final long serialVersionUID = 1L;
26  
27              @Override
28              public StackTraceElement[] getStackTrace() {
29                  return new StackTraceElement[]{new StackTraceElement(
30                          stackTraceClassName, "methodName", "fileName", 1)};
31              }
32          });
33  
34          assertThat(new PrintableResult(asList(failure)).toString(), allOf(
35                  containsString(descriptionName), containsString(stackTraceClassName)));
36      }
37  
38      @DataPoint
39      public static String SHELL_POINT = "Shell Point";
40  
41      @Theory
42      public void includeMultipleFailures(String secondExceptionName) {
43          PrintableResult backtrace = new PrintableResult(Arrays.asList(
44                  new Failure(Description.createSuiteDescription("firstName"),
45                          new RuntimeException("firstException")), new Failure(
46                  Description.createSuiteDescription("secondName"),
47                  new RuntimeException(secondExceptionName))));
48          assertThat(backtrace.toString(), containsString(secondExceptionName));
49      }
50  }