上一節咱們講解了如何使用opencover生成單元測試覆蓋率報告,opencover默認生成的report爲xml格式,可讀性並非特別強,若是靠閱讀opencover生成的results.xml來分析測試結果顯然是很是耗費時間和精力的. html
下面介紹一款工具,能夠把opencover生成的xml覆蓋率報告轉化爲交互的html. windows
繼續使用上一節項目,使用nuget添加對reportgenerator的引用. 工具
Reportgenerator安裝完成之後,在項目的packages目錄下面會有如下目錄 單元測試
ReportGeneratorxxx\tools 測試
咱們打開這個目錄內容以下: ui
期中ReportGenerator.exe是咱們要使用的生成html報告的工具. 3d
這裏咱們新建一個bat文件,命名爲generateReport.bat,其中代碼以下 xml
"E:\personal project\newTest2018\ConsoleApp1\packages\ReportGenerator.3.1.2\tools\ReportGenerator.exe" -reports:"E:\personal project\newTest2018\ConsoleApp1\NunitTest\bin\Debug\results.xml" -targetdir:"coverage" htm
第一個空格前爲ReportGenerator所在位置, -reports後跟的參數爲咱們用於生成html的xml文件,這個xml文件是上一節咱們使用opencover生成的. –targetdir是要存放xml報告的目錄. blog
打開Jenkins,新建一個ReportGeneratorTest的項目,build欄添加windows batch command步驟,而後在命令框裏輸入剛建立的generateReport.bat的位置
點擊保存,而後執行build Now,若是配置正確的話,則會生成一條成功構建記錄,打開記錄能夠看到Console out輸出的內容和下面相似
從控制檯輸出能夠看到生成成功了,而後這個目錄對咱們的意義並不大,咱們須要看到是生成的代碼覆蓋率報告.咱們打開目錄下的coverage目錄(在generateReport.bat裏配置的輸出目錄).能夠看到以下相似內容
期中index.htm爲導航頁面.咱們打開index.htm內容相似以下
能夠看到上面是測試覆蓋率的整體報告,包括建立時間,解析器,程序集數量,類數量,覆蓋行數,未覆蓋行數,行數覆蓋率等.
下面則是每個類的覆蓋率報告.並有圖形化展現.
咱們點擊類名(好比NunitTest.GeneralTest)則會進入這個類測試的更詳細頁面.以下圖
期中上面是總結,下面是此類中每一個方法的覆蓋率報告.右側是方法/屬性導航,點擊會跳到這個方法/屬性.點擊會進入該方法/屬性對應的代碼
其中紅色表示未覆蓋的代碼,綠色表明覆蓋的代碼.