如何运行两个具有不同配置的maven surefire插件?

时间:2015-09-16 10:04:19

标签: maven parallel-processing maven-surefire-plugin

我有2个测试套件。一个可以并行运行,另一个必须按顺序运行。见下面的定义。

我看到只有第二个运行。

我试图定义2个插件。没用。

我试着给他们不同的执行ID。没用。

我尝试将配置置于执行之下,但遇到错误,即配置下的元素不允许,例如failIfNoSpecifiedTests

任何想法如何运行具有不同配置的套件 - 一个并行,另一个顺序?

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <executions>
        <execution>
            <id>SequentialTests</id>
        </execution>
    </executions>
    <configuration>
        <includes>
            <include>**/SequentialTests.java</include>
        </includes>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <executions>
        <execution>
            <id>ParallelTests</id>
        </execution>
    </executions>
    <configuration>
        <includes>
            <include>**/ParallelTests.java</include>
        </includes>
        <threadCount>10</threadCount>
        <parallel>classes</parallel>
    </configuration>
</plugin>

1 个答案:

答案 0 :(得分:0)

请将不同的配置放在2个独立的执行节点下 - 而不是作为顶级元素,作为顶层元素,它们相互重载,而在单独的执行节点下,它们可以并排生存 e.g:

<execution> 
  <id>SequentialTests</id>
  <configuration>...<configuration>
</execution>

<execution>
  <id>ParallelTests</id>
  <configuration>...<configuration>
</execution>