我正在使用Android Studio 1.2.2和Gradle插件1.2.3 .
我正在尝试生成代码覆盖率报告而不运行 gradlew connectedCheck
,只是 gradlew test
. 我想避免使用连接的设备或模拟器,因此我可以加快Jenkins服务器上的构建 .
到目前为止,我能做的最好的事情是在报告中包含单元测试执行数据,如下所述:Jacoco Code Coverage in android studio . 这对于显示所有测试的结果很有用,但目前我只想运行单元测试(Junit4和Robolectric) .
有没有办法编辑 createDebugCoverageReport
gradle任务,以便它不会运行 connectedAndroidTest
?
谢谢 .
2 回答
我设法找到了解决方法 . 即,禁用
connectedAndroidTest
任务 .因此,从建议的解决方案in this answer开始,它将单元测试覆盖率添加到仪器测试覆盖范围,我已禁用了仪器测试任务 . 这允许我通过执行
createDebugCoverageReport
任务来仅运行单元测试,而无需连接的设备 .有一个开源插件可以做到这一点:jacoco-android-gradle-plugin .
它基本上运行每个变体的单元测试并生成覆盖率报告 . 用法记录在project README中 .