我有一个库项目,模块之间有一些奇怪的配置.由于一些特定的限制,我现在有3个模块:核心(主模块),核心测试(我的单元测试)和核心应用程序(我的Espresso测试).
此时,我需要生成一个覆盖率报告,以使其在CI服务器上可用.使用additionalSourceDirs和additionalClassDirs等属性,我创建了一个自定义任务,用于使核心类显示在生成的jacoco.exec文件中.但是对于Espresso测试,我无法找到一种方法来定制它,因为Android Gradle插件上的jacoco配置节点似乎有no options for anything.为特定的构建配置启用testCoverageEnabled有效,它会生成覆盖范围,但仅适用于core-app中的类(我知道,在常规项目中,这是预期的行为),因此coverage.ec文件没有其他类的执行数据.
任何人都知道为集成测试添加更多类/源到coverage任务的方法吗? (可能以某种方式扩展AndroidJUnitRunner或通过Groovy更改任务本身?)
解决方法:
您需要在build.gradle中添加以下内容:
apply plugin: 'jacoco'
jacoco {
toolVersion "0.7.5.201505241946"
}
同样在buildTypes中:
debug {
testCoverageEnabled = true
跑
gradle tasks
并且您将看到一个名为的任务(如果您正在使用调试版本进行覆盖)
createDebugCoverageReport
跑
gradle createDebugCoverageReport
您将在以下文件夹中看到coverage.ec
$build_dir/outputs/code-coverage/connected/flavors/debug/coverage.ec
您使用的是哪种设备以及哪种操作系统?某些具有特定操作系统的设备会产生空白覆盖.请分享有关您正在使用的操作系统和设备的更多信息?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。