在默认情况下,执行maven test/maven package/maven install命令时会在target/surefire-reports目录下生成txt和xml格式的输出信息。
其实maven也可以生成html格式的报告,只需要用一个插件即可:maven-surefire-report-plugin。
这个插件的特点:
1.能把生成的xml报告转换成html
2.能指定哪些测试类需要被执行,哪些测试类不被执行
3.能兼容JUnit 3、JUnit 4以及TestNG
4.在默认情况下,我们无法在在某一个生命周期去调用它,因为并不是所有的用户每次构建软件的时候都会需要html格式。
如果要生成html格式的测试报告,我们需要单独执行命令:mvn surefire-report:report
调用这个命令会执行的步骤:
1.先编译源文件和测试用例
2.再调用surefire插件(这个插件主要是用来执行单元测试的插件)生成txt和xml个数的测试输出信息
3.surefire报告插件(也就是maven-surefire-report-plugin)会把target/surefire-reports下的所有xml报告转换成一份html格式的文件。并将这个html格式的测试报告保存在target/site目录下。
示例:
1.创建项目mavenReport。包含类Try2 和测试类三个,分别是:junitTest.java,TestCase2.java以及TryTest.java
2.在pom文件增加插件maven-surefire-report-plugin,并指定哪些类测试类需要执行,哪些测试类不需要执行。
<include>**/*Test.java</include> :表示任何子目录下所有命名以Test结尾的Java类。
<exclude> **/Test*.java </exclude> :表示不执行任何子目录下所有命名以Test开头的Java类。
3.执行 mvn surefire-report:report命令
4.结果:
在surefire-reports目录下生成2个xml文件,两个txt文件:(细心的你应该发现了xml文件名称中可以看到测试类的名称;并且只有测试类junitTest,TryTest被执行了。TestCase2没有被执行)
在site目录下生成一个html文件。
打开surefire-report.html文件: