我有一个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>发布于 2016-09-26 18:18:23
我通过添加另一个插件而不是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>发布于 2016-09-28 18:44:23
我真的不确定你的答案是否正确。您已经在Maven Failsafe中放置了并发配置,这是一个插件,负责在其中发生异常时安全地终止测试执行。虽然,正如您所说的,这已经解决了您的问题,但从长远来看,它可能会影响您的项目。
根据Maven's website的说法,下面的代码应该放在Maven Surefire配置下。
<forkCount>5</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>遵循这些指导原则后,我能够成功地并行运行测试,同时只更新Surefire插件。
https://stackoverflow.com/questions/39699665
复制相似问题