文档章节

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

fastjrun
?fastjrun
发布于 前天 21:32
字数 468
阅读 125
收藏 2

安装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
974
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
71
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP请求工具类:HttpUtil.java

HTTP请求工具类: package util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Out......

被毒打的程序猿_先瑞
今天
4
0
Mysql系列(四)—— InnoDB的行格式

写在前面 本文涉及知识主要学习自作者小孩子的掘金专栏: 一、InnoDb中的页 我们知道,要处理数据,必须先把数据放到内存中来,那么Mysql读写记录时,是怎么读写的勒?Mysql是将数据划分为若...

陈年之后是青葱
今天
9
0
漫谈 GOF 设计模式在 Spring 框架中的实现

原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 漫谈 GOF 设计模式在 Spring 框架中的实现...

梁桂钊
今天
6
0
Spring Cloud Gateway 和 OAuth2 不兼容的问题

问题版本 Spring Cloud 版本 : Finchley.RELEASE Oauth2 版本 : 2.0.0.RELEASE Spring 版本 : 5.0.7.RELEASE 错误描述 在 Spring Cloud Gateway 与 OAuth2 的整合过程中遇到启动错误 如下: 2...

小贼贼子
今天
8
0
Spring 中使用 @Scheduled 创建定时任务

一、定时任务触发条件 1、在 Application 启动类上添加:@EnableScheduling 2、含定时方法的类上添加注解:@Component,该注解将定时任务类纳入 spring bean 管理。 3、在定时方法上写上:@...

CREATE_17
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部