前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android中根据coverage.ec文件生成报告

Android中根据coverage.ec文件生成报告

作者头像
全栈程序员站长
发布于 2022-09-13 08:55:21
发布于 2022-09-13 08:55:21
85100
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

关于android中的代码覆盖率,可以参考我前几篇文章:

Android手工测试代码覆盖率增强版 Android手工测试的代码覆盖率 Android UI自动化测试的代码覆盖率

官方生成代码覆盖率报告的流程

gradle为android提供的插件生成代码覆盖率的报告流程为首先在应用目录的生成coverage.ec文件(比如我们的应用package为com.wuba.wuxian.android_0504,那么这个coverage.ec在测试完成时会在android系统的/data/data/com.wuba.wuxian.android_0504/目录下生成),然后pull到本地的项目根目录的build/outputs/code-coverage/connected 目录下,这个时候执行createDebugCoverageReport 根据这个coverage.ec和build/intermediates/classes/debug 目录下的class文件生成报告,报告存放在项目根目录下/build/outputs/reports/coverage/debug 下。这个是官方的流程。

根据coverage.ec生成报告

我们在前一篇文章中得到了手工测试的代码覆盖率文件coverage.ec,现在我们根据这个文件如何生成代码覆盖率的报告呢?

很简单,首先我们将这个文件存放到build/outputs/code-coverage/connected下,然后在build.gradle加入如下语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apply plugin: 'jacoco'
def coverageSourceDirs = [
        '../app/src/main/java'
]

task jacocoTestReport(type: JacocoReport) {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."
    reports {
        xml.enabled = true
        html.enabled = true
    }
    classDirectories = fileTree(
            dir: './build/intermediates/classes/debug',
            excludes: ['**/R*.class',
                       '**/*$InjectAdapter.class',
                       '**/*$ModuleAdapter.class',
                       '**/*$ViewInjector*.class'
            ])
    sourceDirectories = files(coverageSourceDirs)
    executionData = files("$buildDir/outputs/code-coverage/connected/coverage.ec")

    doFirst {
        new File("$buildDir/intermediates/classes/").eachFileRecurse { file ->
            if (file.name.contains('$$')) {
                file.renameTo(file.path.replace('$$', '$'))
            }
        }
    }
}

然后我们执行gradle jacocoTestReport 生成报告,报告的存放目录为项目根目录下的 build/reports/jacoco/jacocoTestReport目录下:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162113.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文带你解决Android app手工测试或者自动化测试覆盖率统计(撸代码版)
1.覆盖了需求的是多少,用例评审时,就是一个很好的统计。如果不到,会有补充,但是这个人为因素多,可能不全面。
雷子
2021/03/15
1.6K0
一文带你解决Android app手工测试或者自动化测试覆盖率统计(撸代码版)
简单两步实现 Jacoco+Android 代码覆盖率的接入!(最新最全版)
JaCoCo的概念我就不在这里复述了网上有很多资料介绍,这里主要提一下他的两种插桩模式:On-the-fly和Offline
岛哥的质量效能笔记
2021/08/18
6.2K0
简单两步实现 Jacoco+Android 代码覆盖率的接入!(最新最全版)
从精准化测试看ASM在Android中的强势插入-JaCoco初探
在Java技术栈上,基本上提到覆盖率,大家就会想到JaCoco「Java Code Coverage的缩写」,几乎所有的覆盖率项目,都是使用JaCoco,可想而知它的影响力有多大,我们在Android项目中,也集成了JaCoco,官网文档如下。
用户1907613
2021/09/08
3.2K0
从精准化测试看ASM在Android中的强势插入-JaCoco初探
安卓app功能或自动化测试覆盖率统计(干货进阶版)
今天是国庆节假期的第四天,这是假期的第一篇技术文章。再次祝大家节日快乐。准备收收心,回去工作了。
雷子
2021/03/15
1.2K0
安卓app功能或自动化测试覆盖率统计(干货进阶版)
Android+jacoco实现代码覆盖率最正确的实现方式,没有之一!
在我接到这个需求,需要统计开发人员提交代码自测率的时候,从其他渠道和gradle推荐了解到的实现方式都是jacoco,然后也上网查了不少的资料,网上的资料都非常老了,gradle插件依赖的不是1.+就是2.+,gradle依赖还是4.4左右,所以导致一个问题,也是浪费了我很多时间的问题:网上的资料已经跟不上时代了,然而没有一篇最新的、最正确的jacoco+Android集成实践的博文,来给有这方面有诉求的同学指引方向,在我费尽千辛万苦终于找到突破口并实现了之后,决定记录这个问题,为日后有需求的同学点一盏明灯!
全栈程序员站长
2022/09/13
3.5K1
Android+jacoco实现代码覆盖率最正确的实现方式,没有之一!
Android如何精准化测试?
最近搞了一个基于jacoco统计Android代码覆盖率测试的功能,可以统计每天手工测试的代码覆盖率.自己也学习一下jacoco,陆陆续续搞了三天终于有点结果了.
测试加
2022/03/24
6960
Android如何精准化测试?
Java代码覆盖率历史发展轨迹
作为一个测试人员,保证产品的软件质量是其工作首要目标,为了这个目标,测试人员常常会通过很多手段或工具来加以保证,覆盖率就是其中一环比较重要的环节。
JavaEdge
2020/05/27
1.3K0
Jenkins单元测试(上)
每种编程语言都有自己的单元测试框架。执行单元测试的工作一般由构建工具来完成。Jenk-ins做的只不过是执行这些构建工具的单元测试命令,然后对测试报告进行收集,并呈现。
陈不成i
2021/06/04
1.9K0
Android自动化测试探索(五)代码覆盖率统计
同样如果以上说的几个都不懂也行, 让开发帮忙做这些然后编个代码覆盖率统计的包给你测试, 测完把手机给开发取数据生成报告。 注意每次测试完先返回手机桌面把程序退到后台等几秒让app自己生成日志文件
周希
2019/10/15
1.2K0
Android app 功能代码覆盖率--Jacoco(二)
1.在项目根目录下,进入dos,运行:gradlew.bat jacocoInit,会再app下生成code-voerage文件夹
厦门-安仔
2019/09/16
1.8K0
Android app 功能代码覆盖率--Jacoco(二)
JAVA代码覆盖率工具JaCoCo-实践篇
上周 JAVA代码覆盖率工具JaCoCo-原理篇 简单介绍了JaCoCo其生成覆盖率的基本原理,这周的实践篇的主要内容就是将原理应用到实践中,本篇内容全部都是具体的项目使用实战经验,这里分享给大家,共勉~ 一、覆盖率项目中使用介绍 本节开始详细介绍下项目中的JaCoCo实战经验。 下图是覆盖率在实际在项目中的主要实施点: 分别详细介绍下: 1.1 确定插桩方式 Android项目只能使用JaCoCo的离线插桩方式。 为什么?主要是因为Android覆盖率的特殊性: 一般运行在服务器java程序的插桩可
腾讯移动品质中心TMQ
2018/02/06
8.4K0
JAVA代码覆盖率工具JaCoCo-实践篇
Android app 功能代码覆盖率--Jacoco(三)
前面两篇都是讲了jacoco配合Andorid app 代码覆盖的配置以及单人测试生成覆盖率测试报告,那遇到多人测试一个版本,要怎么合并,来评估这个版本的测试范围跟测试质量,这才比较实用;这个就是今天要说的内容 ~其实也很简单,就是下载不同的jacoco 覆盖率配置文件,该文件已被修改过,可以合并多份.ec文件并对比生成一份报告;
厦门-安仔
2019/09/23
1.4K0
Android app 功能代码覆盖率--Jacoco(三)
Android app 功能代码覆盖率--Jacoco(一)
Jacoco覆盖率主要是进行功能测试来统计下所覆盖率的类,方法等,是一种辅助评估项目质量,风险及用例设计是否完善的方法。切记,Jacoco覆盖率并不是指单元测试覆盖率;
厦门-安仔
2019/09/04
2.6K0
Android app 功能代码覆盖率--Jacoco(一)
SpringBoot接入JaCoCo实践教程
SpingBoot可以通过2种方式接入JaCoCo:Maven和Agent。Maven方式是静态接入,在编译时计算代码覆盖率。Agent方式是动态接入,服务启起来以后,能实时根据代码命中情况计算代码覆盖率。
dongfanger
2022/05/09
1.1K0
SpringBoot接入JaCoCo实践教程
Jacoco统计接口测试的代码覆盖率
搜狗商城现有的接口自动化测试框架是使用Python搭建的,共900多条case,每天都会运行一次,从而监控是否有因开发代码变更或者新功能添加而导致的遗漏的bug。但我们只是依照测试用例来转换成自动化脚本、case,实际上并没有度量的指标,也不能保证测试的完整性,所以我们打算引入代码覆盖率这一指标来度量测试完整性。
用户5521279
2019/08/09
3.8K1
Jacoco统计接口测试的代码覆盖率
Android自动化测试探索(六)代码覆盖率统计
之前在 https://www.cnblogs.com/zhouxihi/p/11453738.html 这篇写了一种统计Android覆盖率的方式
周希
2019/12/11
7170
Spring Boot - JaCoCo Code Coverage
JaCoCo(Java Code Coverage)是一个开源的Java代码覆盖率工具,它主要用于评估Java程序的测试完整性。通过跟踪测试过程中执行的代码,JaCoCo能够提供多种覆盖率指标,帮助开发者确保代码的测试质量。这些指标包括指令覆盖、分支覆盖、圈复杂度、行覆盖、方法覆盖和类覆盖。
小小工匠
2024/01/15
6350
Spring Boot - JaCoCo Code Coverage
【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )
BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html
韩曙亮
2023/03/30
4050
【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )
使用JaCoCo Maven插件创建代码覆盖率报告
这篇博客文章描述了我们如何使用JaCoCo Maven插件为单元和集成测试创建代码覆盖率报告。
FunTester
2019/11/19
2K0
SonarQube测试覆盖率--Java
测试覆盖率报告和测试执行报告是评估代码质量的重要指标。测试覆盖率报告告诉您测试用例涵盖的代码百分比。测试执行报告告诉您已运行哪些测试及其结果。
源代码安全
2023/03/01
2.7K0
推荐阅读
相关推荐
一文带你解决Android app手工测试或者自动化测试覆盖率统计(撸代码版)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文