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 ...
随机推荐
- 编写简单登陆和注册功能的demo时遇到的问题
一.注册功能中添加数据不成功 给数据库添加EditText中的内容后,数据库中找不到添加后的数据,并且存在字符串为空的数据 解决方法:EditText registerAccount = (EditT ...
- HDU 4730 We Love MOE Girls (2013成都网络赛,签到水题)
We Love MOE Girls Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- CareerCup之1.3字符串去重
[题目] 原文: 1.3 Design an algorithm and write code to remove the duplicate characters in a string witho ...
- Syncovery 是目前功能最为强大的实时自动备份工具
Syncovery Pro(原名叫做Super Flexible Synchronizer) 是目前功能最为强大的实时自动备份工具,连FTP.WebDAV等全部支持! 最近从V6开始改用比较好记.易懂 ...
- Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 转
Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 首先准备linux内核编译环境: sudo apt-get install fakeroot build-essential ...
- D-U-N-S申请流程
1.打开D-U-N-S官网 http://fedgov.dnb.com/webform 图一 2.占击页面的“Click here to request your ......” (如图一红框所示)进 ...
- MVC中CheckBoxList的3种实现方式
比如,当为一个用户设置角色的时候,角色通常以CheckBoxList的形式呈现.用户和角色是多对多关系: using System.Collections.Generic; using System. ...
- MFC绘制直方图和饼图
转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- etcd集群搭建
etcd介绍,以及适用场景,参考:http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement ...
- 开篇-QT完全手册
嵌入式工具Qt的安装与使用 摘要 Qt是Trolltech公司的一个产品.Trolltech是挪威的一家软件公司,主要开 发两种产品:一种是跨平台应用程序界面框架:另外一种就是提供给做嵌入式Linux ...