View Javadoc
1   package junit.tests.runner;
2   
3   import junit.framework.Test;
4   import junit.framework.TestCase;
5   import junit.framework.TestSuite;
6   import junit.runner.BaseTestRunner;
7   
8   public class BaseTestRunnerTest extends TestCase {
9       public static class MockRunner extends BaseTestRunner {
10          private boolean fRunFailed = false;
11  
12          @Override
13          protected void runFailed(String message) {
14              fRunFailed = true;
15          }
16  
17          @Override
18          public void testEnded(String testName) {
19          }
20  
21          @Override
22          public void testFailed(int status, Test test, Throwable e) {
23          }
24  
25          @Override
26          public void testStarted(String testName) {
27          }
28      }
29  
30      public static class NonStatic {
31          public Test suite() {
32              return null;
33          }
34      }
35  
36      public void testInvokeNonStaticSuite() {
37          BaseTestRunner runner = new MockRunner();
38          runner.getTest("junit.tests.runner.BaseTestRunnerTest$NonStatic"); // Used to throw NullPointerException
39      }
40  
41      public static class DoesntExtendTestCase {
42          public static Test suite() {
43              return new TestSuite();
44          }
45      }
46  
47      public void testInvokeSuiteOnNonSubclassOfTestCase() {
48          MockRunner runner = new MockRunner();
49          runner.getTest(DoesntExtendTestCase.class.getName());
50          assertFalse(runner.fRunFailed);
51      }
52  }