maven使用testng
有关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
maven使用testng