此查询为w.r.t. PaxExam注释的Junit测试类的并行执行。
正在使用的库:
以下是Maven Surefire插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>suites</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
<perCoreThreadCount>true</perCoreThreadCount>
<threadCountSuites>0</threadCountSuites>
<threadCount>0</threadCount>
<parallelOptimized>true</parallelOptimized>
<runorder>filesystem</runorder>
<includes>
<include>**/Suite1.java</include>
<include>**/Suite2.java</include>
</includes>
</configuration>
</plugin>
有2个Junit套件Suite1.java
和Suite2.java
上面的每个套件都包含2个测试类,每个类都用@RunWith(PaxExam.class)
和@ExamReactorStrategy(PerSuite.class)
注释
此外,每个测试类都有一个用@Test
注释的方法。
执行mvn clean test
时,套件不会并行运行。
进一步深入探讨了Pax ReactorManager
将所有4个测试类添加到一个Set下,即ReactorManager对待一个套件中的所有测试类。另外,在maven日志中,语句suite finished
仅记录一次。
有人建议如何在PAX考试中并行运行Junit套件吗?