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输出查看完整的代码覆盖率报告。

相关内容

热门资讯

科普分享!决胜麻架胡易辅助,红... 科普分享!决胜麻架胡易辅助,红龙poker作弊指令,教你攻略(的确有挂)是一款可以让一直输的玩家,快...
盘点一款!雀友会广东潮汕麻雀开... 盘点一款!雀友会广东潮汕麻雀开挂,天天手游辅助工具(本来真的有挂)1、游戏颠覆性的策略玩法,独创攻略...
科技新动态!先锋脚本辅助,we... 您好:先锋脚本辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
热点推荐!山西扣点工具,微信小... 热点推荐!山西扣点工具,微信小程序微乐辅助器脚本(都是有挂)1、每一步都需要思考,不同水平的挑战会更...
避坑细节!微乐脚本,wepok... 避坑细节!微乐脚本,wepoker软件安装包,透明教程(有挂教学);AI辅助机器人普及解说快速成为一...
专业讨论!福建天天开心辅助工具... 您好:福建天天开心辅助工具这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
重大发现!好友赣南新版本脚本,... 《重大发现!好友赣南新版本脚本,德普之星透视辅助软件激活码,力荐教程(了解有挂)》 好友赣南新版本脚...
科技通报!微乐陕西小程序破解器... 科技通报!微乐陕西小程序破解器,hhpkoer辅助挂是真的吗,分享教程(有挂方法)是一款可以让一直输...
分享个大家!同乡游辅助软件,h... 分享个大家!同乡游辅助软件,hh poker插件下载,wpk教程(新版有挂);暗藏猫腻!同乡游辅助软...
分享一款!广西老友玩友破解,w... 分享一款!广西老友玩友破解,wpk真吗,微扑克教程(有挂辅助)是一款可以让一直输的玩家,快速成为一个...