讀古今文學網 > Maven實戰 > 11.7.4 Maven項目測試報告 >

11.7.4 Maven項目測試報告

圖11-22還顯示了項目的測試結果信息,為了獲得這樣的信息需要做一些額外的配置。在11.6.1節中,maven-surefire-plugin會在項目的target/surefire-reports目錄下生成與JUnit兼容的XML格式測試報告,Hudson能夠基於這種格式的文件生成圖形化的測試報告。

用戶可以配置一個Hudson任務,在配置頁面的Post-build Actions部分選擇Publish JUnit test result report選項,並且將Test report XMLs賦值為**/target/surefire-reports/TEST-*.xml。

該表達式表示匹配任意目錄下target/surefire-reports/子目錄中以TEST-開頭的XML文件,這也就是匹配所有maven-surefire-plugin生成的XML格式報告文件。配置如圖11-27所示。

圖11-27 配置Hudson任務發佈測試報告

有了上述配置之後,就能在任務狀態頁面中看到最新的測試結果與測試結果趨勢,如圖11-28所示。

圖11-28 Hudson任務測試的總體狀態

單擊Latest Test Result就能看到最近一次構建的測試報告。在測試結果趨勢圖中,用戶也可以單擊各個位置得到對應構建的測試報告,如圖11-29所示。

用戶還可以單擊圖中的鏈接得到更具體的測試輸出,以方便定位並修復問題。

如果用戶為一個Hudson任務配置了測試報告,就可以同時配置構建命令忽略測試。例如,圖11-17中的Maven構建命令可以更改為clean deploy-Dmaven.test.failure.ignore,這樣失敗的測試就不會導致構建失敗。也就是說,構建的狀態不會是紅色,同時,由於Hudson能夠解析測試報告並發現失敗的測試,構建的狀態也不會是健康的藍色。用戶最終會看到黃色的任務狀態,表示構建不穩定。這種配置方式能夠幫助用戶區分失敗的構建與不穩定的構建。

圖11-29 一次構建的測試報告