测试覆盖率 Android app 功能代码覆盖率--Jacoco

chenyouan · 2019年10月05日 · 最后由 bobo 回复于 2020年07月10日 · 4617 次阅读

Jacoco 覆盖率主要是进行功能测试来统计下所覆盖率的类,方法等,是一种辅助评估项目质量,风险及用例设计是否完善的方法。切记,Jacoco 覆盖率并不是指单元测试覆盖率;
运用场景;1.通过自己打包版本进行功能测试,确认覆盖率;2.通过修改了 jacoco 的原始文件,通过多人多把手机同一版本进行功能测试,然后可合并覆盖率报告,进行覆盖率评估;

直接开始,就不说 Jacoco 的原理了,我们就讲如何在 android app 配置使用 jacoco~

步骤:

首先得有项目 APP 的源码;

用 android studio 打开源码,然后对下载下来的 jacocohelper 和 jacoco.gradle 导入到项目中,jacocohelper 导入项目根目录,而 jacoco.gradle 导入到 app/下

配置 app 下的 build.gradle,主要有三个地方,详情看图:



在项目下/settings.gradle,配置 jacocohelper

在项目 app\src\main\java\包名\application 下的 xxxxapplication.java 中增加初始化,启用 jacoco

修改两个地方分别增加:import com.chendaole.coverage.jacocohelper.api.JacocoHelper;

JacocoHelper.Builder builder = new JacocoHelper.Builder();

builder.setApplication(this)

.setDebuggable(true);

JacocoHelper.initialize(builder.build());

进行同步数据更新和依赖下载,然后进行 apk 打包。打包完安装到手机里面,然后进行操作,操作到一定程度以后,可以直接按下声音 - 键,弹出提示 create ec,会在 sdcard 生成一个以时间命令的.ec 文件

报告:

1.在项目根目录下,进入 dos,运行:gradlew.bat jacocoInit,会再 app 下生成 code-voerage 文件夹

2.把手机生成以时间命名的.ec 文件复制到 app\build\outputs\code-coverage 下,并改名为 coverage.ec 文件注:一定要改名为 coverage,不然无法生成报告


3.在项目根目录运行 dos,输入命令 gradlew.bat jacocoTestReport,生成报告,

然后会在 app 目录下生成 reports 文件夹,在路径 app\build\reports\jacoco\jacocoTestReport\html ,打开 index.html,就是覆盖率报告

以上,是关于对于 Jacoco 对 Android app 覆盖率的在代码的配置跟生成,如果需要多人功能测试同一版本产生覆盖率合并的操作方式跟修改的文件,可关注微信订阅号 “测试一般不一般”,查看
Android app 功能代码覆盖率--Jacoco(三)

附:jacoco 配置文件下载地址:

链接:https://pan.baidu.com/s/1o7ZEomK29ZGT42VksJNU4w

提取码:p1v3

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞
仅楼主可见

jacocohelper 是什么? 是经过二次开发的一个包吗? 还是集成在 jacoco 的一个插件

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册