Jenkins 覆蓋率插件Cobertura 使用


1, 安裝插件 Cobertura

注意: cobertura Plugin,Code coverage API plugin兩個插件都可以生產cobertura代碼覆蓋率可視化報告。但是code coverage API plugin生產都覆蓋率可以 通過rest API訪問到。(所以在構建job時,選擇生成code coverage API樣式的覆蓋率文件)
參考地址: https://github.com/jenkinsci/code-coverage-api-plugin
(rest api 獲取相關的覆蓋率格式如下)
1.Coverage result: …/{buildNumber}/coverage/…/result/api/{json|xml}?depth={number}
2. Trend result: …/{buildNumber}/coverage/…/trend/api/{json|xml}?depth={number}
3. Coverage result of last build: …/{buildNumber}/coverage/…/last/result/api/{json|xml}?depth={number}
4. Trend result of last build: …/{buildNumber}/coverage/…/last/trend/api/{json|xml}?depth={number}
例如下
比如 coverage result: 解析如下
host/job/jobsName/34/coverage/result/api/json?depth=34
注意:在當前job中執行python 腳本請求接口,會返回404. 可以通過構建另一個job獲取它的覆蓋率結果。
解析如下內容即可

2, 不配置pom文件,執行maven命令

----在命令行中寫的好處是我們不用去修改配置文件。

cobertura-maven-plugin:2.7:cobertura
最終會生成 cobertura.xml文件。
mvn -B clean org.codehaus.mojo:cobertura-maven-plugin:2.7:cobertura -Dcobertura.report.format=xml -Dmaven.test.failure.ignore=true -Dnubility.instrumentation.excludes=com/test/**/*.class,com/test.class

3. 排除包和類 ,分割。

4.1 排除用法: -Dnubility.instrumentation.excludes
Dnubility.instrumentation.excludes=com/test/**/*.class,com/test.class
4.2 指定輸出的報告格式
-Dcobertura.report.format=xml 作用,默認是不生成xml報告的。需要加上輸出報告的格式。maven命令需要加上它,不然后續如果要使用到xml文件時,沒有的話就會報錯

創建一個任務,

1,在 "構建后操作" 添加 Cobertura report
插件可以看到詳情的覆蓋率結果
2,添加 發布代碼覆蓋率報告,
注意可以通過API接口獲取到覆蓋率結果,通過釘釘機器人通知給他人

獲取單元測試總數並計算成功率

• 安裝插件后 junit report 也是通過接口獲取。並解析出想要的內容。 api 接口格式

http://host/job/當前構建的job名稱/構建個數/api/json


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM