View Javadoc
1   package org.junit.tests.running.core;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertTrue;
5   
6   import java.io.ByteArrayOutputStream;
7   import java.io.PrintStream;
8   
9   import org.junit.After;
10  import org.junit.Before;
11  import org.junit.Test;
12  import org.junit.runner.JUnitCore;
13  
14  public class CommandLineTest {
15      private ByteArrayOutputStream results;
16      private PrintStream oldOut;
17      private static boolean testWasRun;
18  
19      @Before
20      public void before() {
21          oldOut = System.out;
22          results = new ByteArrayOutputStream();
23          System.setOut(new PrintStream(results));
24      }
25  
26      @After
27      public void after() {
28          System.setOut(oldOut);
29      }
30  
31      static public class Example {
32          @Test
33          public void test() {
34              testWasRun = true;
35          }
36      }
37  
38      @Test
39      public void runATest() {
40          testWasRun = false;
41          new MainRunner().runWithCheckForSystemExit(new Runnable() {
42              public void run() {
43                  JUnitCore.main("org.junit.tests.running.core.CommandLineTest$Example");
44              }
45          });
46          assertTrue(testWasRun);
47      }
48  
49      @Test
50      public void runAClass() {
51          testWasRun = false;
52          JUnitCore.runClasses(Example.class);
53          assertTrue(testWasRun);
54      }
55  
56      private static int fCount;
57  
58      static public class Count {
59          @Test
60          public void increment() {
61              fCount++;
62          }
63      }
64  
65      @Test
66      public void runTwoClassesAsArray() {
67          fCount = 0;
68          JUnitCore.runClasses(new Class[]{Count.class, Count.class});
69          assertEquals(2, fCount);
70      }
71  
72      @Test
73      public void runTwoClasses() {
74          fCount = 0;
75          JUnitCore.runClasses(Count.class, Count.class);
76          assertEquals(2, fCount);
77      }
78  }