文档章节

使用jenkins的jacoco插件快速实现统计单元测试覆盖率

fastjrun
?fastjrun
发布于 昨天 21:32
字数 468
阅读 83
收藏 1

安装jenkins

wget http://mirrors.jenkins.io/war-stable/2.176.4/jenkins.war
java -jar jenkins.war

参考

安装git、maven、jacoco等插件

需要安装Git plugin和JaCoCo plugin

配置maven

配置单元测试任务

spring-petclinic是一个经典的spring boot项目,这里我们也选择该项目来做单元测试并统计测试覆盖率。项目地址如下:https://github.com/spring-projects/spring-petclinic

在jenkins里选择New Item链接

进入新建任务页面如下

输入spring-petclinic-uttest,选择“构建一个maven项目”,点“OK”按钮

General选项卡

保留默认值

Source Code Management选项卡

Repository URL输入https://github.com/spring-projects/spring-petclinic.git

Build Triggers选项卡

保留默认值

Pre Steps选项卡


Goals and options 文本框输入 “clean verify”。

Post-build Actions 选项卡


点击 Add post-build-Actions下拉选择框,选择“Record JaCoCo coverage report”条目
保持默认选项,最后点保存按钮即可

执行单元测试任务,查看单元测试覆盖率


根据网络情况和本任务是否首次执行,该任务可能执行时间比较长,且容易中断报错,我这次是在阿里云主机上新搭的jenkins,一共执行了4次,才成功如下图
点Coverage Trend 链接,右下方显示 JaCoCo Coverage Trend 如下图
继续点击 JaCoCo Coverage Trend 区域任意位置,显示单元测试覆盖率报告如下图

总结

本文通过具体一个实例讲解了如何利用jenkins触发单元测试执行,并使用jacoco插件来统计单元测试用例覆盖率。

? 着作权归作者所有

fastjrun

fastjrun

粉丝 23
博文 49
码字总数 23184
作品 3
海淀
架构师
私信 提问
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。"有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计:当代...

Jenkins中文社区
05/22
973
0
Android自动化单元测试(下)

承接上文 上一篇单元测试讲了如何在Android Studio中写测试用例,自动化测试并生成测试报告,这一篇主要讲一下扩展工具的使用。 jacoco代码覆盖率 ??jacoco是一个检测代码覆盖率的插件工具...

jara0705
2018/01/10
0
0
Jacoco 统计E2E的代码覆盖率

原本一直以为代码覆盖率只能单测能搞,后来听了MTSC大会的一个分享,发现这东西E2E测试也是可以搞,而且这东西搞好来想想对精准测试帮助非常大。 于是花了点时间搞了个demo,并写了这个简单的...

米阳MeYoung
2018/08/16
0
0
如何使用Jacoco远程统计tomcat服务的代码覆盖率

如何使用Jacoco远程统计tomcat服务的覆盖率 在做软件开发的时候经常会遇到做各种测试,这里介绍一种本人遇到的:代码覆盖率测试, 这个测试非常实用,能发现许多无效的模块和代码。强烈推荐!...

明舞
2015/08/12
9.2K
7
用Gradle构建Spring Boot项目

相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本。本文将从无到有创建一个用Gradle构建的Spring Boot项目,并在此过程中讲到...

asdf08442a
2018/09/28
70
0

没有更多内容

加载失败,请刷新页面

加载更多

快速排序例子

package helloclean.basetest;import java.util.Scanner;public class QuickSortTest { int[] a = new int[101]; int n; public void quickSort(int left, int righ......

clean123
30分钟前
6
0
小程序的一个tab切换

tab-hd01

前端老手
38分钟前
7
0

十二句你应该掌握的英语口语表达,让你不再和老外尬聊,建议收藏

英语中的"俚语"就如同我们日常生活中常用的"非正式口语"一样,虽然光看单词你可以了解他的字面意思,但是如果套用到日常用语中,就很难让人理解。所以要想和老外流畅的交流,你必须要掌握这些...

翻译君
今天
6
0
Android 自定义scheme及多端唤起使用方法

前言 DeepLink,深度链接技术,类似于web开发领域不仅仅是通过链接打开一个界面,而是打开界面的某个具体内容。常用于web端唤起app时,传递参数直接打开确定的界面,如通过京东的分享出去的商...

所谓向日葵族
今天
5
0
云南如今的人证核验访客多用在商业,为什么?

如今的人证核验多用于商业,这是为何?因为它的场合应用不可思议—— 伴随技术的发展,又一个新的名词与人脸识别在了一起,那就是“检测”,随着人脸识别技术的广泛商用,逐渐形成了自动识别...

非思丸智能
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部