JaCoCo 显示 0% 覆盖率,即使所有测试都已通过

Sub*_*han 5 android jacoco android-testing androidx

  1. 我在androidTest目录下写了一些测试用例。
  2. 我正在使用 androidx ( testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner")
  3. 添加的依赖项:

    androidTestImplementation 'androidx.test:runner:1.1.0'

    androidTestImplementation 'androidx.test:rules:1.1.0'

  4. 还添加了 JaCoCo 作为依赖项。

  5. 当我运行createDebugAndroidTestCoverageReportGradle 任务时,所有测试用例都成功运行,但报告中的覆盖率为 0%

我猜这是由于这个错误:

V/InstrumentationResultParser:错误:无法生成 Emma/JaCoCo 覆盖范围。V/InstrumentationResultParser:INSTRUMENTATION_CODE:-1

Mar*_*ler 5

谷歌刚刚将我重定向到我自己的答案......

事实证明,对于 Android 项目(同时)必须使用类似这样的路径:

"${project.buildDir}/intermediates/javac/debug/classes"
Run Code Online (Sandbox Code Playgroud)

如果您可能想知道...JaCoCo 仅适用于@RunWith(JUnit4.class)中的 Java 单元测试test(但不适用于 @RunWith(AndroidJUnit4.class)中的 Android 集成测试androidTest)。