在默认情况下,执行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文件: