jacoco做爲代碼覆蓋率統計的工具,目前社區依舊很活躍,也在持續更新,支持的測試方式也相對豐富(支持獨立測試工程和項目集成的測試模塊),若是項目想作代碼覆蓋率統計,仍是首推jacoco。html
jacoco集成mvn的實現,網上介紹已經比較多了,這裏再也不贅述,只記錄一下jacoco集成gradle的過程,此處以項目集成的測試模塊作例。app
1.在測試模塊的build.gradle中引入jacoco插件。工具
apply plugin: "jacoco"
2.指定jacoco的版本和報告路徑,這裏只有兩個屬性,toolVersion指定版本號,reportsDir指定報告生成的路徑也就是 .exec文件的路徑,路徑爲空時,默認 $buildDir/reports/jacoco測試
jacoco { toolVersion = "0.7.9" reportsDir = file("$buildDir/customJacocoReportDir") }
3.一樣在測試模塊的build.gradle文件中,test任務下,增長jacoco的任務,這樣在每次執行測試腳本後會自動執行jacoco,我這邊是與testng配套的,所以與useTestng()順序放一塊兒就好了.gradle
特別關注,因爲gradle在執行測試時對failcase是敏感的,只要存在一個case失敗,都會使本次構建失敗(直接拋出exception),致使在測試後沒法執行jacoco,所以,須要跳過失敗case,增長屬性:ui
ignoreFailures = true
test { ignoreFailures = true useTestNG(); jacoco{ append = false destinationFile = file("$buildDir/jacoco/trade.exec") } }
4.在jenkis上作持續集成的話,基本上以上三點配置好以後就能夠了,但若是本地想驗證看下覆蓋率報告的話,能夠指定生成覆蓋率報告格式,新增jacoco報告任務spa
jacocoTestReport { reports { xml.enabled false csv.enabled false html.destination file("${buildDir}/jacocoHtml") } }
1.在jenkins系統管理-插件管理中,安裝jacoco插件,安裝好以後,增長的構建後任務中會出現生成jacoco測試報告的選項插件
2.增長任務後,出現覆蓋率配置,這裏的配置須要特別注意,若是配錯沒法找到對應文件時,執行的日誌不會報錯,但會致使覆蓋率報告結果爲0日誌
Path to exec files:代碼覆蓋率統計文件位置,即.exec生成的文件路徑xml
Path to class directories:classes文件位置,統計的源代碼編譯後的路徑
Path to source directories :源碼文件位置,統計的源代碼路徑
下面是設置覆蓋率百分比的提醒閾值。
太陽表示覆蓋率高於設置閾值,覆蓋率報告裏會橙色提醒
烏雲表示覆蓋率低於設置閾值,覆蓋率報告裏會橙色提醒
3.配置完成執行構建,完成後便可看到覆蓋率報告的結果