jacoco + gradle + testNG + jenkins 進行持續集成代碼覆蓋率的部署實現

jacoco集成gradle

   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")
    }
}

 

jacoco在jenkins上的配置

 1.在jenkins系統管理-插件管理中,安裝jacoco插件,安裝好以後,增長的構建後任務中會出現生成jacoco測試報告的選項插件

2.增長任務後,出現覆蓋率配置,這裏的配置須要特別注意,若是配錯沒法找到對應文件時,執行的日誌不會報錯,但會致使覆蓋率報告結果爲0日誌

 Path to exec files:代碼覆蓋率統計文件位置,即.exec生成的文件路徑xml

Path to class directories:classes文件位置,統計的源代碼編譯後的路徑

Path to source directories :源碼文件位置,統計的源代碼路徑

下面是設置覆蓋率百分比的提醒閾值。

太陽表示覆蓋率高於設置閾值,覆蓋率報告裏會橙色提醒

烏雲表示覆蓋率低於設置閾值,覆蓋率報告裏會橙色提醒

  3.配置完成執行構建,完成後便可看到覆蓋率報告的結果

相關文章
相關標籤/搜索