如何通过 POM 中的 Maven 设置 TestNG 选项 "configfailurepolicy"?

How can I set the TestNG option "configfailurepolicy" via Maven in the POM?

TestNG 有一个名为 -configfailurepolicy 的选项,您可以在命令行上指定它,或者您可以在套件 XML 文件中指定它(如果您正在使用一个。)

我想通过 POM 中的 Maven 进行设置,但是我找不到任何文档来说明如何执行此操作。我可以吗?如果可以,我该怎么办?

这张是 2012 年的票:https://jira.codehaus.org/browse/SUREFIRE-927

应该是修好了。根据拉取请求和发布日期,它应该是任何版本(包括 2.13 或之后)的可用选项。看起来现在的 maven 默认是 2.12.4,所以你必须手动配置 surefire 插件到一个工作版本。

获得最新版本后,您应该可以在命令行中输入 -Dconfigfailurepolicy=continue,或者在 xml

中进行配置
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.13</version>
      <configuration>
        <configfailurepolicy>continue</configfailurepolicy>
      </configuration>
    </plugin>
  </plugins>
</build>

我遇到了同样的问题,这为我解决了。

configfailurepolicy IS 可通过 Failsafe 进行配置,在询问时可以使用 Failsafe 和 TestNG 的版本。

此配置适用于 TestNG 6.8.8 和 Failsafe 2.17。

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.17</version> <executions> <execution> <goals> <goal>integration-test</goal> </goals> <configuration> <properties> <property> <name>configfailurepolicy</name> <value>continue</value> </property> </properties> </configuration> </execution> </executions> </plugin>

结果 Reporter 输出为

2016-08-23 08:02:18.367  SampleTest           Starting Test
2016-08-23 08:02:18.378  SampleTest           sampleTest--Test Skipped

2016-08-22 20:02:18.632  SampleTest1          Starting Test
2016-08-22 20:02:18.633  SampleTest1          sampleTest1--Test Pass

2016-08-22 20:02:18.738  SampleTest2          Starting Test
2016-08-22 20:02:18.738  SampleTest2          sampleTest2--Test Pass

顺便说一句,据我所知,在没有通过插件 API 明确满足的情况下,通过 Failsafe 将配置配置到 TestNG 中的任何地方都没有记录——我是通过反复试验得到的。我怀疑此方法适用于 Failsafes API 未明确支持的其他 command line arguments .