JUnit:运行同步测试

kmc*_*coy 6 java junit junit4 netbeans-6.9

我仍然是Java编程和JUnit测试的新手.我使用了junit-4.5附带的NetBeans 6.9.1(但我已将junit-4.8.2添加到我的库中).

我有许多测试类,每个类中都有许多@Test方法.

当我运行一个特定的Test类时,它一次运行一个@Test方法.我还创建了一个测试套件

@RunWith(Suite.class)
@Suite.SuiteClasses(value = {
    TestClassA.class,
    TestClassB.class,
    TestClassC.class})
public class NewTestSuite {
}
Run Code Online (Sandbox Code Playgroud)

它将遍历我的每个测试类,并在每次运行时运行每个@Test方法.

我的问题是:我可以同时运行测试类吗?或者,在每个测试类中,是否可以同时运行@Test方法?

这样做可以让我比一次一个地运行类和方法更快地完成所有测试.

谢谢!

卢声远*_* Lu 9

使用org.junit.experimental.ParallelComputer:示例:

    public class NewTestSuite {

       public static void main(String[] s){

         Class[] cls={TestClassA.class,TestClassB.class,TestClassB.class };  

         //simultaneously all methods in all classes  
         Result result = JUnitCore.runClasses(new ParallelComputer(true, true), cls);
         System.out.print(result.wasSuccessful());

         //simultaneously among classes  
         //Result result = JUnitCore.runClasses(ParallelComputer.classes(), cls);  

         //simultaneously among methods in a class  
         //Result result = JUnitCore.runClasses(ParallelComputer.methods(), cls);  
      }
   } 
Run Code Online (Sandbox Code Playgroud)