开始两个Junit测试套件



我有两个junit测试套件,第一个将是Alltestinparallel,并将其实现以在多个线程中运行。第二个是alltestsin序列,它速度较慢,我需要以单线线程运行。最后,我需要一次开始两个测试套件。我的目的是先进行慢速测试,然后进行快速测试,反之亦然。

  @RunWith(MultiThreadedClasspathRunner.class)
  public class AllTestsInParallel { 
  }
  public class MultiThreadedClasspathRunner extends Suite {
  public MultiThreadedClasspathRunner(Class<?> klass, RunnerBuilder builder)    throws InitializationError {
    super(builder, MultiThreadedClasspathRunner.getTestClassesInProjectClassPath(klass));
  }
  ......
  }
  @RunWith(SingleThreadedClasspathRunner.class)
  public class AllTestsInSequence { 
  }
  public class SingleThreadedClasspathRunnerextends Suite {
  public SingleThreadedClasspathRunner(Class<?> klass, RunnerBuilder builder)    throws InitializationError {
    super(builder, SingleThreadedClasspathRunner.getTestClassesInProjectClassPath(klass));
  }
  ......
  }

有人可以让我知道一次发起两个跑步者吗?我尝试使用下面使用jvm param'-dtest';

     -Dtest=com.selenium.runner.AllTestsInSequence,com.selenium.runner.AllTestsInParallel

,但它总是获得最后值并执行。是否可以在一个命令中启动另一个?

使用@Suite注释创建一个新的套件,其中包含您要运行的两个套件:

@RunWith(Suite.class)
@Suite.SuiteClasses({
   AllTestsInParallel.class,
   AllTestsInSequence .class
})
public class AllTestsSuite {   
}

最新更新