栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Jenkins 进阶篇 - 单元测试覆盖率

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins 进阶篇 - 单元测试覆盖率

我们做项目开发,肯定免不了要写单元测试,不管是 Java 项目、Python 项目、PHP 项目,甚至是 nodejs 项目,都应该要写单元测试,本小节就来介绍单元测试的覆盖率报告输出和展示,在后面的章节中我会介绍代码质量网关 Sonarqube 的使用。

我们的项目在构建时就可以运行单元测试并输出覆盖率的测试报告,Jenkins 也早就考虑到这些事项,我这里以 Java 项目为例子,为了便于直观地展示单元测试覆盖率报告我们要安装一个 Jenkins 插件 JaCoCo。不会安装 Jenkins 插件的同学可以参考我之前的文章。插件安装好后需要对构建任务做些配置,我这里还是以 demo-todo-list 这个任务为例。

在任务的【配置】中的【构建后操作】里面增加一个 【Record JaCoCo coverage report】步骤,一般情况下默认即可,如果你的项目有做特殊设置,例如单元测试覆盖率报告的目录自己有特殊设置过,那就要根据实际情况调整,匹配到正确的 jacoco 报告文件的目录位置。这里还可以做些关卡设置,例如,如果我们的单元测试覆盖率没有达到多少就让这个任务失败,这样可以以此作为规定,在公司内部达成共识,定一个合适的覆盖率指标,以后开发人员都必须遵守规定不能不写单元测试。

我这里的默认设置如下:

设置好后,我们再来构建一下该任务,就会发现左侧菜单栏多了一个【Coverage Trend】选项,并且右边还有一个【Code Coverage Trend】折线图,折线图会反映出单元测试覆盖率的变化情况。这两个地方都可以点击进去查看单元测试覆盖率的详细情况。

我这里的单元测试覆盖率如下图:

每一个 Java 的包名还可以点击进去查看某个类的具体覆盖率情况:

以上就是 Jenkins 输出单元测试报告的方式,如果你在使用过程中遇到什么问题欢迎留言讨论。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号