我在Android应用程序中有多个模块。我需要在CI/CD流水线中自动化代码覆盖率报告,但它没有物理/虚拟Android设备,也不可能连接设备。
从以下网址集成Jacoco - https://github.com/gouline/android-samples/blob/master/jacoco/jacoco.gradle 当我尝试通过gradle命令生成覆盖率报告时,发生了什么情况?
从以下网址集成Jacoco - https://github.com/gouline/android-samples/blob/master/jacoco/jacoco.gradle 当我尝试通过gradle命令生成覆盖率报告时,发生了什么情况?
>> ./gradlew createDebugCoverageReport
它会显示以下错误日志:
* What went wrong:
Execution failed for task ':app:connectedDebugAndroidTest'.
> com.android.builder.testing.api.DeviceException: No connected devices!
我试图通过命令排除 Gradle 任务(connectedDebugAndroidTest)。
>> ./gradlew createDebugCoverageReport -x app:connectedDebugAndroidTest -x module1:connectedDebugAndroidTest
出现以下错误 -
> Task :module1:createDebugAndroidTestCoverageReport FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':vpn:createDebugAndroidTestCoverageReport'.
> java.io.IOException: No coverage data to process in directories [/Users/abc/ws/prjName/module1/build/outputs/code_coverage/debugAndroidTest/connected]
我在module1中有仪器化测试
当设备未连接时,如何在生成Jacoco报告时排除仪器化测试。
更新:
我能够通过以下方式单独为每个模块生成Jacoco报告:
./gradlew testDebugUnitTestCoverage
我正在寻找一个综合报告。如何将来自不同模块的多个 Jacoco 报告集成到一个报告中?