有赞团队之GO项目的单测、集成、增量覆盖率统计与分析(三)

发表于:2021-9-08 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵海强    来源:有赞技术

  四、集成测试增量覆盖率分析
  4.1 diff_cover
  增量覆盖率分析我们选择了开源工具 diffover,diffcover 是用 python 开发,通过 git diff 来对比当前分支和需要比对的分支,主要针对新增代码做覆盖率分析。

  4.2 安装
  安装 diff_cover的机器需要有 python 的环境,有两种安装方式:
  1、通过pip 来直接下载安装
pip install diff_cover

  2、通过源代码安装
pip install diff_covers

  4.3 使用方式
  ps:必须在需要对比的项目目录下运行!!!
  4.3.1 生成单元测试覆盖率报告
go test -v ./... -coverprofile=cover.out gocov convert cover.out | gocov-xml > coverage.xml

  4.3.2 增量覆盖率分析
diff-cover coverage.xml --compare-branch=xxxx --html-report report.html

  --compare-branch:是选择需要对比的分支号
  --html-report:是将增量测试报告生成 html 的报告模式
  除了以上参数,此工具还有很多其他参数,比如
  --fail-under:覆盖率低于某个值,返回非零状态代码
  --diff-range-notation:设置 diff 的范围,就是 git diff {compare-branch} {diff-range-notation} 的作用等等。
  具体可以通过 diff_cover -h 来获得更多详细的信息

  4.4 报告
  命令行展示:

  HTML展示:

  表格中可以看到当前分支覆盖率与选定分支覆盖率的差异。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号