我们最近从Maven 2.2.1升级到Maven 3.5.3。
我们曾经使用maven-surefire-plugin中的并行测试功能为我们的一些项目/模块运行单元测试。具体来说,我们有一个配置如下的模块:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<argLine>-Xmx5G</argLine>
<failIfNoTests>false</failIfNoTests>
<printSummary>true</printSummary>
<reportFormat>plain</reportFormat>
<parallel>all</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
</configuration>
</plugin>
但是,自从升级到Maven 3.5.3后,我们发现构建在运行该模块的单元测试时停止或挂起。
从那时起,我们还发现,如果我们删除<parallel>
和<useUnlimitedThreads>
,则构建工作正常。
顺便说一下,使用该配置,单元测试是否并行运行似乎取决于-T X
并行构建配置 - 即如果我指定-T 20
,则对该单个进行构建模块似乎比没有指定并行构建运行速度快得多,这可能表明Maven 3正在使用并行构建配置来并行运行测试 - 尽管如此,&# 39;不是我所理解的parallel builds documentation中的情况。
我已经尝试了maven-surefire-plugin配置的各种排列,但是我所包含的<parallel>
都没有为该模块工作。
问题:
我是否可以在Maven 3.5.3中使用<parallel>
运行测试?
如果是这样,我是否应该使用其他配置来实现此功能?
在Maven 3.5.3中使用<parallel>
运行测试是否存在任何已知问题? (我已经对此进行了相当广泛的搜索,但可能有人知道我无法找到的东西。)
maven 3并行版本和并行运行测试之间是否存在一些交互?