searchview 点击后被覆盖_03实战Jacoco统计代码覆盖
本篇内容主要介绍:在gradle项目中添加jacoco来了解工程的代码覆盖情况。
自动化的统计代码覆盖情况,有助于将焦点问题可视化,从而决定什么时候采取什么动作进行改进。Jacoco可以方面的添加在测试执结束,进行代码覆盖率的统计。如果我们对代码覆盖率有要求,那么通过Jacoco可以覆盖率的阀值,低于阀值则不允许通过。
本章将从如何在gradle项目添加Jacoco开始。
代码地址:Code
1,创建一个空白的Gradle项目(如果已有项目可以跳过该部分)
通过Intellij IDEA生成一个Gradle项目。build.gradle文件如下。
其中:
test中指明了使用Junit测试。
dependencies中添加了依赖的JUnit5和断言工具AssertJ。
2,在build.gradle中添加Jacoco的配置
添加完成如下:
在build.gralde的文件的底部,新添加了jacoco插件,并指定其版本使用0.8.5(查看其他可选版本),然后指定允许生成html格式的报告,最后指定在测试运行之后来自动生成报告。
在工程根目录下执行如下命令
运行结束后,会在项目根目录下的 build/reports/jacoco (如下图)生成覆盖率报告文件。
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统计代码覆盖相关推荐
- 生成jacoco报告_03实战Jacoco统计代码覆盖
本篇内容主要介绍:在gradle项目中添加jacoco来了解工程的代码覆盖情况. 自动化的统计代码覆盖情况,有助于将焦点问题可视化,从而决定什么时候采取什么动作进行改进.Jacoco可以方面的添加在测 ...
- 选择代码覆盖工具的 10 个标准
为了开发安全可靠的软件,测试是质量保证中不可或缺的一部分.如果没有充分和记录在案的测试,就不可能确定软件是否安全且功能正确.在这种情况下,代码覆盖率(测试覆盖率)的测量尤为重要.这是因为它可以用来确定 ...
- jacoco统计server端功能测试覆盖率
jacoco可以统计,功能测试时,server代码调用的覆盖情况.这里对服务器端的java代码进行统计. 操作步骤如下: 第一步:更改server的启动脚本,使用jacocoagent.jar ...
- android统计库,android jacoco 统计多模块
Android 项目进行了模块化,手工运行完测试用例之后,jacoco 只统计一个模块下面的代码覆盖,其它模块的统计出来的数据都是为 0. build.gradle: apply plugin: &q ...
- 还在担心漏测吗?快来使用jacoco统计下代码覆盖率
大家日常工作过程中,不论是开发还是测试都有可能会被要求写单元测试用例,但是单元测试用例写得好不好如何衡量呢? 一般都需要借助工具来统计单元测试用例覆盖了多少业务代码.算法代码,覆盖率高的情况下,比如覆 ...
- 代码覆盖率以及jacoco统计代码覆盖率的原理
一.什么是代码覆盖率 简单来说,代码覆盖率是指,至少被执行了一次的条目数占整个条目数的百分比. 如果"条目数"是语句,对应的就是代码行覆盖率:如果"条目数"是函 ...
- jacoco统计覆盖率最佳实践
jacoco统计覆盖率最佳实践 jacoco总结 Jacoco安装 代码覆盖率介绍 行覆盖 分支覆盖 方法覆盖 覆盖率的误区 代码覆盖率意义 覆盖率报告解析 启动jacoco agent进行插桩 ** ...
- Python_EasyGui图形化的安装,配置窗口,简单实战(登录界面,猜数字游戏,模拟记事本,统计代码量)
文章目录 1.EasyGui的安装 pip安装(python 3.7版本及其之前版本): python 3.7以上版本 手动安装: 2.EasyGui简单使用 窗口属性修改 3.简单实战 窗口猜数字游 ...
- R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间
R语言统计代码运行耗时实战:计算代码运行时间.使用proc.time函数计算代码运行时间 目录
最新文章
- Android之EditText的各种使用
- Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)
- jdbc连接mysql的语法_JDBC连接MySQL
- Codeforces Bubble Cup 8 - Finals [Online Mirror] B. Bribes lca
- Python实现批量处理扫描特定目录
- Tomcat无法启动:Server Tomcat v8.5 Server at localhost failed to start
- 周庄不买门票攻略_广东佛山旅游攻略好玩的地方景点推荐
- 第2期--从零开始仿制新浪微博---android
- CSC宣布成立CSC Security Center
- 华为手机计算器程序员模式_华为手机的普通拍照模式,你真的会用吗?
- 使用ydui框架报错[Vue warn]: Invalid prop: custom validator check failed for prop color.
- 简历职称 计算机,个人简历专业技术职务怎么填 就是你所学的专业技术是你取得...
- 苦难是人生中必须经历的一课
- 华为开启管理员模式_华为root权限怎么开启,详细的步骤以及图文教程
- WinRT surface屏幕常亮设置
- 机器学习笔记——神经网络与深度学习
- nginx中配置gzip_static on提示nginx: [emerg] unknown directive “gzip_static“ in
- ARM微控制器与嵌入式系统 基础知识
- ramdisk和linux PE,[PE教程]WINPE下如何再建一个Ramdisk盘
- 男人健康八年一个转折
热门文章
- 用命令行方式配置JAVA系统变量
- python安装caffe_Linux下caffe的安装
- 从业回忆,一次大胆的冒险,程序员转岗项目经理
- 简简单单的代码让你轻松学会 动态代理
- java下拉树_参数模板中下拉树级联下拉数据集查询
- java 语法_Java基础语法
- element 项目 示例_Java ArrayDeque element()方法与示例
- java进一_JAVA小白进:基础入门知识
- python字母变成数字怎么办_在Python中将字母转换为数字
- mysql 5.6 5.7不兼容_同一条sql在mysql5.6和5.7版本遇到的问题。