目前,我们使用Spring + Junit和一个数据库运行集成/ e2e测试。我们希望更快地运行测试,因此我们希望并行运行测试。
如何配置Spring + Junit以并行运行测试,例如使用2个数据库?
我们正在使用Maven。
答案 0 :(得分:0)
<强> Junit4 强>
ParallelComputer
:
@Test
public void test() {
JUnitCore.runClasses(new ParallelComputer(true, true), new Class<?>[]{Test1.class, Test2.class});
}
延长Suite.class
:
public class ParallelSuite extends Suite {
public ParallelSuite(Class<?> klass, RunnerBuilder builder) throws InitializationError {
super(klass, builder);
super.setScheduler(new RunnerScheduler() {
private final ExecutorService service = Executors.newFixedThreadPool(klass.getAnnotation(SuiteClasses.class).value().length);
@Override
public void schedule(Runnable runnable) {
service.submit(runnable);
}
@Override
public void finished() {
service.shutdown();
try {
service.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
<强> JUnit5 强>
高度实验性的API,对我不起作用。但是可能对你没问题: https://jitpack.io/#junit-team/junit5/experiments%7Eparallel-execution-SNAPSHOT https://github.com/junit-team/junit5/issues/60