2016-09-26 244 views
0

我有一个项目Serenity + Java + JUnit,我试着并行运行我的测试。 我粘贴到我的POM和mvn integration-test之后,它仍然是一个链条:( 运行我做了什么错?maven-surefire-plugin不运行并行测试

 <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

曾通过增加另一个插件,而不是万无一失的,插件解决它

  <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> 
+0

我还注意到具有不同参数的插件的不同版本。这可能也有一些效果。 – user944849

0

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

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

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

遵循这些指导原则,我能够成功运行并行测试,只更新Surefire插件。