zoukankan      html  css  js  c++  java
  • Jenkins 进阶篇

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

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

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

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

    image.png

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

    每一个 Java 的包名还可以点击进去查看某个类的具体覆盖率情况:
    image.png
    以上就是 Jenkins 输出单元测试报告的方式,如果你在使用过程中遇到什么问题欢迎留言讨论。

  • 相关阅读:
    JavaScript中对事件简单的理解
    正则表达式 RE模块
    模块
    面向对象进阶
    元类详细解释
    四.面向对象和函数补充
    四.函数
    Python的基础知识:
    五层协议及tcp三次握手四次挥手
    nginx常见错误
  • 原文地址:https://www.cnblogs.com/liudecai/p/15416602.html
Copyright © 2011-2022 走看看