本篇内容主要介绍:在gradle项目中添加jacoco来了解工程的代码覆盖情况。

自动化的统计代码覆盖情况,有助于将焦点问题可视化,从而决定什么时候采取什么动作进行改进。Jacoco可以方面的添加在测试执结束,进行代码覆盖率的统计。如果我们对代码覆盖率有要求,那么通过Jacoco可以覆盖率的阀值,低于阀值则不允许通过。

本章将从如何在gradle项目添加Jacoco开始。

代码地址:Code

1,创建一个空白的Gradle项目(如果已有项目可以跳过该部分)

通过Intellij IDEA生成一个Gradle项目。build.gradle文件如下。

build.gradle

其中:

test中指明了使用Junit测试。

dependencies中添加了依赖的JUnit5和断言工具AssertJ。

2,在build.gradle中添加Jacoco的配置

添加完成如下:

build.gradle

在build.gralde的文件的底部,新添加了jacoco插件,并指定其版本使用0.8.5(查看其他可选版本),然后指定允许生成html格式的报告,最后指定在测试运行之后来自动生成报告。

在工程根目录下执行如下命令

gcb

运行结束后,会在项目根目录下的 build/reports/jacoco (如下图)生成覆盖率报告文件。

Structure

3, 添加实际代码后,查看报告详情

我们添加一个测试类ParkingLotTest。从完成测试需要的实现代码。

ParkingLotTest.java

ParkingLot.java

Car.java

Ticket.java

ParkFailException.java

代码结构

执行 ./gradlew clean build 生成代码覆盖率报告。

打开报告,我们可以看到统计情况。

package下的覆盖率情况,如下图。

点击package名称,能够查看类的覆盖率情况,如下图。

点击class名称,能够继续查看class中method的覆盖率情况,如下图。

继续点击method名,能够看到详细代码中的覆盖情况,如下图。

总结

结合前面的两个工具(checkstyle、PMD),我们就能够本地即使得到反馈。相比代码推送到pipline中才知道结果,本地的反馈更加快速和及时。开发人员不用每日化时间在那些简单的、重复的代码问题上,留下更多的时间在Code Review来讨论更有价值的技术问题。

扩展阅读:

《00简单3步实现技术提升个人和团队效率》​zhuanlan.zhihu.com

《01实战CheckStyle》​zhuanlan.zhihu.com

《02实战PMD》​zhuanlan.zhihu.com

searchview 点击后被覆盖_03实战Jacoco统计代码覆盖相关推荐

  1. 生成jacoco报告_03实战Jacoco统计代码覆盖

    本篇内容主要介绍:在gradle项目中添加jacoco来了解工程的代码覆盖情况. 自动化的统计代码覆盖情况,有助于将焦点问题可视化,从而决定什么时候采取什么动作进行改进.Jacoco可以方面的添加在测 ...

  2. 选择代码覆盖工具的 10 个标准

    为了开发安全可靠的软件,测试是质量保证中不可或缺的一部分.如果没有充分和记录在案的测试,就不可能确定软件是否安全且功能正确.在这种情况下,代码覆盖率(测试覆盖率)的测量尤为重要.这是因为它可以用来确定 ...

  3. jacoco统计server端功能测试覆盖率

    jacoco可以统计,功能测试时,server代码调用的覆盖情况.这里对服务器端的java代码进行统计.   操作步骤如下:   第一步:更改server的启动脚本,使用jacocoagent.jar ...

  4. android统计库,android jacoco 统计多模块

    Android 项目进行了模块化,手工运行完测试用例之后,jacoco 只统计一个模块下面的代码覆盖,其它模块的统计出来的数据都是为 0. build.gradle: apply plugin: &q ...

  5. 还在担心漏测吗?快来使用jacoco统计下代码覆盖率

    大家日常工作过程中,不论是开发还是测试都有可能会被要求写单元测试用例,但是单元测试用例写得好不好如何衡量呢? 一般都需要借助工具来统计单元测试用例覆盖了多少业务代码.算法代码,覆盖率高的情况下,比如覆 ...

  6. 代码覆盖率以及jacoco统计代码覆盖率的原理

    一.什么是代码覆盖率 简单来说,代码覆盖率是指,至少被执行了一次的条目数占整个条目数的百分比. 如果"条目数"是语句,对应的就是代码行覆盖率:如果"条目数"是函 ...

  7. jacoco统计覆盖率最佳实践

    jacoco统计覆盖率最佳实践 jacoco总结 Jacoco安装 代码覆盖率介绍 行覆盖 分支覆盖 方法覆盖 覆盖率的误区 代码覆盖率意义 覆盖率报告解析 启动jacoco agent进行插桩 ** ...

  8. Python_EasyGui图形化的安装,配置窗口,简单实战(登录界面,猜数字游戏,模拟记事本,统计代码量)

    文章目录 1.EasyGui的安装 pip安装(python 3.7版本及其之前版本): python 3.7以上版本 手动安装: 2.EasyGui简单使用 窗口属性修改 3.简单实战 窗口猜数字游 ...

  9. R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间

    R语言统计代码运行耗时实战:计算代码运行时间.使用proc.time函数计算代码运行时间 目录

最新文章

  1. Android之EditText的各种使用
  2. Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)
  3. jdbc连接mysql的语法_JDBC连接MySQL
  4. Codeforces Bubble Cup 8 - Finals [Online Mirror] B. Bribes lca
  5. Python实现批量处理扫描特定目录
  6. Tomcat无法启动:Server Tomcat v8.5 Server at localhost failed to start
  7. 周庄不买门票攻略_广东佛山旅游攻略好玩的地方景点推荐
  8. 第2期--从零开始仿制新浪微博---android
  9. CSC宣布成立CSC Security Center
  10. 华为手机计算器程序员模式_华为手机的普通拍照模式,你真的会用吗?
  11. 使用ydui框架报错[Vue warn]: Invalid prop: custom validator check failed for prop color.
  12. 简历职称 计算机,个人简历专业技术职务怎么填 就是你所学的专业技术是你取得...
  13. 苦难是人生中必须经历的一课
  14. 华为开启管理员模式_华为root权限怎么开启,详细的步骤以及图文教程
  15. WinRT surface屏幕常亮设置
  16. 机器学习笔记——神经网络与深度学习
  17. nginx中配置gzip_static on提示nginx: [emerg] unknown directive “gzip_static“ in
  18. ARM微控制器与嵌入式系统 基础知识
  19. ramdisk和linux PE,[PE教程]WINPE下如何再建一个Ramdisk盘
  20. 男人健康八年一个转折

热门文章

  1. 用命令行方式配置JAVA系统变量
  2. python安装caffe_Linux下caffe的安装
  3. 从业回忆,一次大胆的冒险,程序员转岗项目经理
  4. 简简单单的代码让你轻松学会 动态代理
  5. java下拉树_参数模板中下拉树级联下拉数据集查询
  6. java 语法_Java基础语法
  7. element 项目 示例_Java ArrayDeque element()方法与示例
  8. java进一_JAVA小白进:基础入门知识
  9. python字母变成数字怎么办_在Python中将字母转换为数字
  10. mysql 5.6 5.7不兼容_同一条sql在mysql5.6和5.7版本遇到的问题。