Android-Jacoco-无法生成测试和androidTest的合并报告
创始人
2024-08-19 19:00:42
0次

在app/build.gradle文件中添加以下代码:

android {
  ...
}
    
jacoco {
   toolVersion = "0.8.5"
   reportsDir = file("$buildDir/reports")
}

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true // 加入该行可以生成无代码的类的覆盖率 (kotlin 协程相关类会被剔除)
    jacoco.filter{
        //过滤掉你项目中自动生成的代码文件和androidTest文件
        it.sourceFileName.contains('BuildConfig') // that's the one generated by Android Studio
        it.sourceFileName.contains('R.java') // that's the one generated by Android Studio
        it.sourceFileName.contains('Test') // test code
    }
} 

afterEvaluate {
    project.tasks.each { task ->
        if (task.name.startsWith('generate') && task.name.contains('AndroidTest')) {
            java.util.prefs.Preferences systemPrefs = java.util.prefs.Preferences.systemRoot();
            systemPrefs.put("jacoco-agent.include", "*/R.class,*/*$ViewInjector*"); // 修改Jacoco执行的include,使代码覆盖率更精确
            systemPrefs.put("jacoco-agent.exclude", "*/*/*Test,*/*/*/Test*,android/*/*,*/*/*Debug*,*/*/*Application,*/*/*ApplicationLike,*/*/*Module,*/*/*Repository,*/*/*Event,*/*/*Observer"); // 修改Jacoco执行的exclude,使代码覆盖率更精确
            task.finalizedBy('jacocoTestAndroid') // 添加任务监听器,监听generate*AndroidTest任务的完成,然后再执行jacocoTestAndroid任务
        }
    }
}

如上所示,添加了Jacoco的相关配置,创建了一个任务监听器,以确保在生成AndroidTest执行之前,应解决所有依赖项。 在运行gradlew jacocoTestModified打印日志后,可以在$buildDir/outputs/code-coverage/connected中看到jacoco*.exec文件,可通过Android Studio的覆盖率视图查看代码覆盖率报告,也可以通过HTML输出查看完整的代码覆盖率报告。

相关内容

热门资讯

黑科技开挂!微友麻将(开挂),... 黑科技开挂!微友麻将(开挂),吉吉联盟竟然真的有透视挂软件(有辅助挂分享)微友麻将脚本下载中分为三种...
黑科技透视器!贺州玩(透视器)... 黑科技透视器!贺州玩(透视器),开心玩一直存在有透视挂方法(有辅助挂分析)1、很好的工具软件,可以解...
黑科技透视器!尊享社区(透视器... 黑科技透视器!尊享社区(透视器),江汉游戏切实有透视挂插件(有辅助挂技术)江汉游戏脚本下载中分为三种...
黑科技开挂!贝塔(开挂),鑫豪... 黑科技开挂!贝塔(开挂),鑫豪天地本来是有透视挂插件(有挂辅方法)一、鑫豪天地游戏安装教程牌型概率发...
黑科技外挂!人民棋牌(外挂),... 黑科技外挂!人民棋牌(外挂),牛魔王竟然有透视挂app(有辅助挂方针)1、人民棋牌免费辅助多个强度级...
黑科技透视器!微乐江苏麻将(透... 黑科技透视器!微乐江苏麻将(透视器),吉祥棋牌斗地主竟然是有透视挂方法(有辅助挂细节)1)吉祥棋牌斗...
黑科技辅助器!全民牛牛(辅助器... 黑科技辅助器!全民牛牛(辅助器),新蛮王其实有透视挂工具(今日头条辅助)1、进入到全民牛牛是否有挂之...
黑科技辅助!卓越(辅助),乐发... 黑科技辅助!卓越(辅助),乐发其实是有透视挂插件(有辅助挂讲解)1、卓越公共底牌简单,卓越透视插件操...
黑科技作弊器!锦葵游戏(作弊器... 黑科技作弊器!锦葵游戏(作弊器),指尖联盟原来是真的有透视挂方法(有辅助挂细节)1、指尖联盟辅助器安...
黑科技辅助!天和娱乐(辅助),... 黑科技辅助!天和娱乐(辅助),广水四色一贯是有透视挂教程(有辅助挂详情)1、天和娱乐模拟器是什么优化...