Jacoco覆盖率工具使用
Jacoco介绍
Jacoco是一个开源的覆盖率工具。Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins等。
官网地址:http://www.eclemma.org/jacoco/
Java Counters
Jacoco包含了多种尺度的覆盖率计数器,包含指令级(Instructions,C0coverage),分支(Branches,C1coverage)、圈复杂度(CyclomaticComplexity)、行(Lines)、方法(non-abstract methods)、类(classes)。
如上图所示,标示绿色的为分支覆盖充分,标黄色的为部分分支覆盖,标红色的为未执行该分支。
支持的集成工具
Jacoco团队提供了如下的一些集成工具的支持:
Java API
http://www.eclemma.org/jacoco/trunk/doc/api/index.html
Command Line
http://www.eclemma.org/jacoco/trunk/doc/agent.html
Apache Ant
http://www.eclemma.org/jacoco/trunk/doc/ant.html
Apache Maven
http://www.eclemma.org/jacoco/trunk/doc/maven.html
Eclipse EclDmma Plugin
下面介绍使用ant工具的方法,将使用一个web工程做完示例讲解。
Apache Ant的使用
web工程图
执行ant file task:all-report
执行ant file后生成报告report目录如图所示:
测试报告
可以单独运行命令:anttest-report生成测试报告;
执行之后会在build/report/html生成测试报告,其中打开index.html如下所示。下
单击: 进入:
展示测试类名称、测试方法名称 、测试状态 success or fail 、类型及执行时间:
测试用例覆盖率
可以单独执行命令:antcoverreport;
执行之后会在build/report/coverage下生成覆盖报告,其中打开index.html如下所示:
单击包名称一层一层单击进入:
具体颜色定义查看上面的介绍。
Jacoco与jenkins,sonar集成
Jenkins中构建简单配置
图仅供参考。
Jacoco与jenkins集成
首先jenkins安装jacoco插件,如图所示:
建议使用jenkins插件管理进行安装;
对应的Jenkins插件见https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin
配置jacoco插件
在“Addpost-build action”中选择“”,如图所示:
配置如下部分:
第一个部分:代码覆盖率统计文件位置;
第二个部分:classes文件位置;
第三个部分:源码文件位置;
根据需要填写百分比;
Jacoco 与sonar集成
在项目跟目录下面新建一个sonar-project.properties,如web图所示。
编辑此文件:
执行sonar,配置jenkins部分
只需要执行sonar-runner即可,前提是将jenkins与sonar-runner集成在一起;
运行jenkins,执行构建任务
看到类似结果,表示构建结束。
至此,可以通过jenkins查看代码覆盖率等信息。
单击进入测试项目:
单击“CodeCoverage Trend“部分,进入详细页面:
单击进入详细的覆盖率文件:
SonarQube展示
进入sonarqube项目:http://172.16.XXX.XXX9000/
单击工程jacoco_test_project:
进入详细页面:
其中圈中左边为单元测试覆盖率,右边为单元测试统计;
单击进入
通过下拉框选择查看行覆盖情况,未覆盖行情况,分支覆盖情况,未覆盖分支情况;
单击 进入测试情况信息页面:
如果存在错误,此部分会展示错误情况。
Jacoco覆盖率工具使用的更多相关文章
- Jacoco覆盖率工具使用之maven篇
说明 之前的文章已经介绍过如何使用apacheant 执行jacoco工具,下面开始介绍如何使用maven使用jacoco工具. 1.首先新建一个maven项目 如图所示: ...
- Jacoco覆盖率工具使用调研
JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...
- jacoco覆盖率工具测试及性能分析
ant版本:https://ant.apache.org/bindownload.cgi jdk版本 注: ant 1.10 ---> jdk1.8 ant 1.9 ---& ...
- 测试覆盖率工具:EclEmma
测试覆盖率工具:EclEmma 2016-08-26 目录 1 测试覆盖率实现技术2 EclEmma介绍3 EclEmma测试覆盖率指标4 EclEmma安装5 示例项目介绍 5.1 创建项目 5 ...
- iOS 覆盖率检测原理与增量代码测试覆盖率工具实现
背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现 ...
- Java測试覆盖率工具----Cobertura,EclEmma
Cobertura 是一个与Junit集成的代码覆盖率測量工具 它是免费.开源的 它能够与Ant和Maven集成.也能够通过命令行调用 能够生成HTML或XML格式的报告 能够依照不同的标准对HTML ...
- jacoco+maven 初次使用覆盖率工具
工作要搞覆盖率测试,看到公司平台上用的jacoco,就找了网上的demo自己跑了一下. 一.覆盖率测试是干什么的 http://www.open-open.com/lib/view/open14721 ...
- JaCoCo 代码覆盖率工具(基于Maven+TestNG)
JaCoco是一个代码覆盖率库. 官方网站:http://www.jacoco.org/ 安装: 以 Maven(http://www.testclass.net/maven/) 安装为例: < ...
- 测试覆盖率工具EclEmma安装与使用
此文来自于:https://www.cnblogs.com/cnsdhzzl/p/7638883.html EclEmma的简介 一个优秀的开源软件测试工具 eclipse的一个插件 能够对由 Jav ...
随机推荐
- 正确率、召回率和F值
正确率.召回率和F值是在鱼龙混杂的环境中,选出目标的重要评价指标. 不妨看看这些指标的定义先: 正确率 = 正确识别的个体总数 / 识别出的个体总数 召回率 = 正确识别的个体总数 / 测试集中存 ...
- Win7 开启显示快速启动工具栏,发送到快速启动右键菜单
开启Win7快速启动栏 许多网友一定记得在 Windows 7 之前的 Windows 系统都有个快速启动(quick launch)区域. 比如 IE 浏览器.Windows Media Playe ...
- MyBatis接口的简单实现原理
MyBatis接口的简单实现原理 用过MyBatis3的人可能会觉得为什么MyBatis的Mapper接口没有实现类,但是可以直接用? 那是因为MyBatis使用Java动态代理实现的接口. 这里仅仅 ...
- Asp.net处理程序(第六篇)
四.Web服务处理程序 对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述.在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访 ...
- 使用DataGridView进行增删改查,并同步到数据库
DataGridView控件具有极高的可配置性和可扩展性.它提供有大量的属性.方法和事件,能够用来对该控件的外观和行为进行自己定义.以下通过一个小样例来展示DataGridView进行增删改查,并同步 ...
- 《JavaScript启示录》
<JavaScript启示录> 基本信息 作者: (美)Cody Lindley 译者: 徐涛 出版社:人民邮电出版社 ISBN:9787115334947 上架时间:2014-2-21 ...
- 使用HTML5画饼图
在进行数据的统计分析时, 饼图也是比较经常用到的一类统计图. 需求分析: 一个饼图一般包含以下几部分: 1.标题 2.扇形 3.份额(百分比) 4.标识器 设计: ...
- Spark一个简单案例
Spark是一个类似Map-Reduce的集群计算框架,用于快速进行数据分析. 在这个应用中,我们以统计包含"the"字符的行数为案例,.为建立这个应用,我们使用 Spark 1. ...
- Strings of Power
B. Strings of Power Volodya likes listening to heavy metal and (occasionally) reading. No wonder Vol ...
- 最大熵,熵,MLE的解释,还行
这篇文章: https://blog.csdn.net/jiaoyangwm/article/details/81276921