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 接口格式