Maven Surefire插件,Maven 3中的并行测试

时间:2018-04-11 08:59:06

标签: java maven maven-3 maven-surefire-plugin parallel-testing

我们最近从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并行版本和并行运行测试之间是否存在一些交互?

0 个答案:

没有答案