maven-surefire-plugin不会运行并行测试

时间:2016-09-26 09:52:27

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

我有一个项目Serenity + Java + JUnit,我尝试并行运行我的测试。 我将它粘贴到我的pom中,在mvn integration-test之后,它仍然在链中运行:( 我做错了什么?

      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.16</version>
            <configuration>
                <parallel>all</parallel>
                <forkMode>perthread</forkMode>
                <threadCount>4</threadCount>
            </configuration>
        </plugin>

2 个答案:

答案 0 :(得分:0)

通过添加另一个插件而不是surefire-plugin来解决它

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <forkCount>5</forkCount>
                <reuseForks>true</reuseForks>
                <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
                <systemPropertyVariables>
                    <databaseSchema>MY_TEST_SCHEMA_5</databaseSchema>
                </systemPropertyVariables>
                <workingDirectory>FORK_DIRECTORY_5</workingDirectory>
            </configuration>
        </plugin>

答案 1 :(得分:0)

不确定你的回答是否正确。您已在Maven Failsafe中放置了并发配置,这是一个插件,负责在其中发生异常时安全地终止测试执行。虽然,正如您声称它已经解决了您的问题,但从长远来看它可能会影响您的项目。

根据Maven's website,以下代码应放在Maven Surefire配置下。

<forkCount>5</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>

遵循这些指导原则,我只需更新Surefire插件即可成功运行测试。