基于Gitlab CI 和 Cobertura查看单元测试代码覆盖率

在项目中做单元测试已经是一件必不可少并且大家都认可的任务。

有了单元测试,还需要直观的看到单元测试的代码覆盖率,还有具体的报告。

有了覆盖率的报告,还需要支持CI/CD平台读取这个报告内容。

一: 整合maven 和 cobertura

我们目前使用的代码覆盖率工具是Cobertura, 具体的使用方式如下:

1 cd {项目根目录}

2 mvn cobertura:cobertura

生成的报告会在 target/site/cobertura/index.html中, 在浏览器中可以查看该报告,

报告形式如截图:

左边栏的数字代表被单元测试代码测试的次数, 0 说明该行代码从来没有被测试过

二 Gitlab 读取覆盖率报告

1 在Gitlab CI yaml中的unit_test job中加入对cobertura的CI,

这样每次代码提交后都会执行覆盖率的任务,并且会过滤报告内容给gitlab CI:

2 以仓库服务为例,打开gitlab页面 Settings→CI/CI Pipelines

3 在 Test coverage parsing中输入以下正则表达式用于读取过滤后的覆盖率

4 在项目的README.md中插入以下内容用于显示具体覆盖率:

[![coverage report](https://gitlab.sdtdev.net/dcs/parts-stocking-warehouse/badges/develop/coverage.svg?job=unit_test)](https://gitlab.sdtdev.net/dcs/parts-stocking-warehouse/commits/develop?job=unit_test)

经过这样的设置,从开发人员到项目管理人员都可以很直观的看到单元测试的覆盖率了。

我建立了 “一支烟兄弟团”,主打职业成长和陪伴,有兴趣私聊!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一支烟一朵花

所有打赏将用于一支烟花AI社区

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值