我有一个项目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>
答案 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插件即可成功运行测试。