如何使JUnit测试用例并行执行?

use*_*949 32 junit

可能重复:
并行运行junit测试?

我发现jUnit中的测试用例是按顺序执行的,如何让它们并行执行?

卢声远*_* Lu 36

Junit4使用ParallelComputer提供并行功能:

public class ParallelComputerTest {  

   @Test  
   public void test() {      
      Class[] cls={ParallelTest1.class,ParallelTest2.class };  

      //Parallel among classes  
      JUnitCore.runClasses(ParallelComputer.classes(), cls);  

      //Parallel among methods in a class  
      JUnitCore.runClasses(ParallelComputer.methods(), cls);  

      //Parallel all methods in all classes  
      JUnitCore.runClasses(new ParallelComputer(true, true), cls);     
   } 

   public static class ParallelTest1 {  
      @Test public void a(){}  
      @Test public void b(){}  
   }  

   public static class ParallelTest2 {  
      @Test public void a(){}  
      @Test public void b(){}  
   }  
} 
Run Code Online (Sandbox Code Playgroud)

  • 如果我不想列出每一个测试类(这看起来像一个巨大的痛苦)怎么办?有没有办法让它自动获取每个类并并行运行它们? (12认同)