关于ReportNG的更多信息可以在其网页上找到,但是当我试图在从CI服务器运行的Maven构建中使用AppInfo库时,我很难找到任何指南,以了解如何将其与Maven一起使用。 幸运的是有一些Ant和Gradle的示例,因此我能够弄清楚,但是我希望通过这篇文章,希望将ReportNG与Maven一起使用的每个人都可以在几分钟内毫无问题地实现它。
首先,必须将其他依赖项添加到pom.xml中:
<dependencies>
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.2</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency>
(...)
</dependencies>
通常在我们的项目中使用较新的TestNG版本,因此应该排除ReportNG依赖项。
接下来,必须配置Surefire插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
<property>
<name>listener</name>
<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
</property>
</properties>
<workingDirectory>target/</workingDirectory>
</configuration>
</plugin>
(...)
</plugins>
</build>
ReportNG使用两个可插入TestNG的报告程序。 JUnitXMLReporter生成运行测试的XML摘要。 它用于工具(例如CI服务器)。 HTMLReporter创建可读HTML报告。 默认的TestNG侦听器应被禁用。
在测试运行后,我还添加了workingDirectory属性,该属性导致将Velocity.log(由ReportNG内部使用的Velocity引擎创建的文件)放置在目标中而不是主项目目录中(并因此通过“ mvn clean”命令删除)。
还有一件事。 不幸的是,ReportNG jar在Maven中央存储库中不可用,因此可能需要在settings.xml中添加java.net存储库。
<repositories>
<repository>
<id>java-net</id>
<url>http://download.java.net/maven/2</url>
</repository>
(...)
</repositories>
就这样。 现在,“ MVN干净测试”应该为包含我们项目的许多测试生成漂亮HTML报告。
参考: 使用ReportNG更好看的TestNG HTML测试报告–来自Solid Soft博客的JCG合作伙伴 Marcin Zajaczkowski的Maven指南 。
翻译自: https://www.javacodegeeks.com/2012/05/better-looking-html-test-reports-for.html