View Javadoc
1   package org.junit.tests.listening;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertTrue;
5   
6   import junit.framework.TestCase;
7   import org.junit.Test;
8   import org.junit.runner.Description;
9   import org.junit.runner.JUnitCore;
10  import org.junit.runner.notification.RunListener;
11  
12  public class RunnerTest {
13  
14      private boolean wasRun;
15  
16      public class MyListener extends RunListener {
17  
18          int testCount;
19  
20          @Override
21          public void testRunStarted(Description description) {
22              this.testCount = description.testCount();
23          }
24      }
25  
26      public static class Example {
27          @Test
28          public void empty() {
29          }
30      }
31  
32      @Test
33      public void newTestCount() {
34          JUnitCore runner = new JUnitCore();
35          MyListener listener = new MyListener();
36          runner.addListener(listener);
37          runner.run(Example.class);
38          assertEquals(1, listener.testCount);
39      }
40  
41      public static class ExampleTest extends TestCase {
42          public void testEmpty() {
43          }
44      }
45  
46      @Test
47      public void oldTestCount() {
48          JUnitCore runner = new JUnitCore();
49          MyListener listener = new MyListener();
50          runner.addListener(listener);
51          runner.run(ExampleTest.class);
52          assertEquals(1, listener.testCount);
53      }
54  
55      public static class NewExample {
56          @Test
57          public void empty() {
58          }
59      }
60  
61      @Test
62      public void testFinished() {
63          JUnitCore runner = new JUnitCore();
64          wasRun = false;
65          RunListener listener = new MyListener() {
66              @Override
67              public void testFinished(Description description) {
68                  wasRun = true;
69              }
70          };
71          runner.addListener(listener);
72          runner.run(NewExample.class);
73          assertTrue(wasRun);
74      }
75  }