在默認情況下,執行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文件: