方法1:
1、将reportng信息配置到pom.xml中
<dependency> <groupId>org.uncommons</groupId> <artifactId>reportng</artifactId> <version>1.1.4</version> <scope>test</scope> </dependency>
2、在testng.xml中添加监听信息,可以直接放在suite下:
<suite>
<listeners> <listener class-name="org.uncommons.reportng.HTMLReporter" /> <listener class-name="org.uncommons.reportng.JUnitXMLReporter" /> </listeners>
...
...
</suite>
3、运行testng,运行之后会自动生产test-output目录,包含两个子文件夹,html和xml。html中包含一个index.html,拖入浏览器即可看到reportng的报告,如下:
方法2:
1、在pom.xml中增加配置maven sufire plugsin插件信息如下:
<dependency> <groupId>org.uncommons</groupId> <artifactId>reportng</artifactId> <version>1.1.4</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.testng</groupId> <artifactId>testng</artifactId> </exclusion> </exclusions> </dependency> <!-- 依赖Guice --> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>velocity</groupId> <artifactId>velocity-dep</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> <build> <plugins> <!-- 添加插件,添加ReportNg的监听器,修改最后的TestNg的报告 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <suiteXmlFiles> <suiteXmlFile>testng.xml</suiteXmlFile> </suiteXmlFiles> <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> <forkMode>always</forkMode> </configuration> </plugin> </plugins> </build>次配置将使得运行mvn test后的测试报告以reportng的形式生成到target/sufire-reports目录下面,同样包含htm和xml两个子文件夹,同样可以将html拖入浏览器进行浏览。
个人觉得,上述两个方法可以将reportng集成到测试项目中来,如果想用mvn来完成项目测试,可以采用第二种方式,这样不需要reportng重新生成test-output目录。用Jenkins集成项目时更适合一些。