我有两个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 {
}