使用Maven禁用TestNG的HTML报告

时间:2016-10-03 09:32:12

标签: maven testng maven-surefire-plugin

我们使用Maven 3.0.5,Surefire 2.7.1和TestNG 5.10运行TestNG测试。

我们要禁用在target/surefire-reports/Command line suite下创建的HTML报告的生成,后一个目录是TestNG套件名称。我们认为是TestNG的记者创建了一份报告,但是尽管采用了以下配置,但无法禁用报告。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.7.1</version>
    <configuration>
        <properties>
            <property>
                <name>usedefaultlisteners</name>
                <value>false</value>
            </property>
        </properties>
    </configuration>
</plugin>

有没有办法关闭HTML报告?每次试运行都需要花费大量时间。

1 个答案:

答案 0 :(得分:1)

这些版本的TestNG和Surefire存在一个错误,使得配置听众无法正常工作。来自Surefire文档中的Using Custom Listeners and Reporters

  

不支持的版本: - TestNG 5.14.1和5.14.2:由于内部TestNG问题,听众和记者不使用TestNG。请将TestNG升级到5.14.9或更高版本。注意:它可以在将来的万无一失版本中修复。

这也可能影响5.10,因此您需要升级到较新版本的TestNG。在此期间,您还可以将Maven Surefire插件升级到当前最新版本,即2.19.1:

<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.9.8</version> <!-- or 5.14.10 for the latest in 5.x branch -->
  <scope>test</scope>
</dependency>

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.19.1</version>
  <configuration>
    <properties>
      <property>
        <name>usedefaultlisteners</name>
        <value>false</value>
      </property>
    </properties>
  </configuration>
</plugin>

是否值得补充一点,这将禁止由TestNG生成HTML报告,但Surefire本身仍会生成XML报告。您可以使用Surefire配置中的disableXmlReport参数禁用该参数。