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

posted @ 2020-10-23 16:37  木子墨墨  阅读(807)  评论(0编辑  收藏  举报