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

http://www.eclemma.org/

下面介绍使用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覆盖率工具使用的更多相关文章

  1. Jacoco覆盖率工具使用之maven篇

    说明 之前的文章已经介绍过如何使用apacheant 执行jacoco工具,下面开始介绍如何使用maven使用jacoco工具. 1.首先新建一个maven项目       如图所示:        ...

  2. Jacoco覆盖率工具使用调研

    JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...

  3. jacoco覆盖率工具测试及性能分析

    ant版本:https://ant.apache.org/bindownload.cgi jdk版本 注: ant 1.10    --->   jdk1.8 ant 1.9      ---& ...

  4. 测试覆盖率工具:EclEmma

    测试覆盖率工具:EclEmma 2016-08-26 目录 1 测试覆盖率实现技术2 EclEmma介绍3 EclEmma测试覆盖率指标4 EclEmma安装5 示例项目介绍  5.1 创建项目  5 ...

  5. iOS 覆盖率检测原理与增量代码测试覆盖率工具实现

    背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现 ...

  6. Java測试覆盖率工具----Cobertura,EclEmma

    Cobertura 是一个与Junit集成的代码覆盖率測量工具 它是免费.开源的 它能够与Ant和Maven集成.也能够通过命令行调用 能够生成HTML或XML格式的报告 能够依照不同的标准对HTML ...

  7. jacoco+maven 初次使用覆盖率工具

    工作要搞覆盖率测试,看到公司平台上用的jacoco,就找了网上的demo自己跑了一下. 一.覆盖率测试是干什么的 http://www.open-open.com/lib/view/open14721 ...

  8. JaCoCo 代码覆盖率工具(基于Maven+TestNG)

    JaCoco是一个代码覆盖率库. 官方网站:http://www.jacoco.org/ 安装: 以 Maven(http://www.testclass.net/maven/) 安装为例: < ...

  9. 测试覆盖率工具EclEmma安装与使用

    此文来自于:https://www.cnblogs.com/cnsdhzzl/p/7638883.html EclEmma的简介 一个优秀的开源软件测试工具 eclipse的一个插件 能够对由 Jav ...

随机推荐

  1. UIwebview 文件的下载与保存,以及mp3文件的播放

    这里只是说说异步 单线程下载与文件的保存 以下载一个mp3文件并保存为例: -(void)loading { //设置文件下载地址 NSString *urlString = [NSString st ...

  2. Node.js modules you should know about: request

    Hey everyone! This is the fourth post in my new node.js modules you should know about article series ...

  3. kgtp linux内核调试

    作者:朱辉 开源网址:https://github.com/teawater http://teawater.github.io/kgtp/      有中文版说明 内核编绎: General set ...

  4. lol匹配算法

    这是Riot的Design Director Tom Cadwell专门为中国玩家写的解说匹配系统工作原理的帖子. 同一时候为了让大家更好的理解匹配系统,假设您认为您遇到了特别不公平的匹配,请回复游戏 ...

  5. lucene.net 3.0.3、结合盘古分词进行搜索的小例子(分页功能)

    转自:http://blog.csdn.net/pukuimin1226/article/details/17558247 添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新 ...

  6. Li的前期工作Level_Set_Evolution_Without_Re-initialization_A_New_Variational_Formulation

    注意:因为页面显示原因.里头的公式没能做到完美显示,有须要的朋友请到我的资源中下载 无需进行又一次初始化的水平集演化:一个新的变分公式 Chunming Li , Chenyang Xu , Chan ...

  7. AFNetworking 2.0使用(持续更新)

    本人视频教程系列 导入AFNetworking 2.0 文件夹,引入头文件AFNetworking.h --------------- *使用NSURLSessionDownloadTask来下载一张 ...

  8. coursera课程Text Retrieval and Search Engines之Week 4 Overview

    Week 4 OverviewHelp Center Week 4 On this page: Instructional Activities Time Goals and Objectives K ...

  9. super-pow

    // https://discuss.leetcode.com/topic/50489/c-clean-and-short-solution class Solution { ; int powMod ...

  10. VMware与Cisco DRAC中的virtual disk的对应关系

    笔者面临的问题如下: 笔者有一台Cisco C240的服务器, 其中有十块容量一样大的SAS的local disk, 一块SSD. 其中的两块SAS盘组成了一个RAID 1的virtual drive ...