JaCoCo показывает 0% покрытия, даже все тесты прошли - PullRequest
4 голосов
/ 08 апреля 2019
  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. Когда я запускаю createDebugAndroidTestCoverageReport Задача Gradleвсе тестовые примеры выполнены успешно, но охват составляет 0% в отчете

Я предполагаю, что это связано с этой ошибкой:

V / InstrumentationResultParser: Ошибка: не удалосьсоздать покрытие Emma / JaCoCo.V / InstrumentationResultParser: INSTRUMENTATION_CODE: -1

1 Ответ

3 голосов
/ 08 апреля 2019

Пользовательская версия androidx.test.runner.AndroidJUnitRunner, скорее всего, не требуется.

Но вот этот путь, который вы определили как debugTree:

"${project.buildDir}/intermediates/classes/debug"

Может быть что-то похожее:

"${project.buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes"

например:

build/intermediates/javac/debug/compileDebugJavaWithJavac/classes
build/intermediates/javac/release/compileReleaseJavaWithJavac/classes

Если не удается найти файлы *.class, тестовое покрытие будет сообщено как 0%.

Просто просмотрите каталог build, чтобы увидеть, каков фактический путь.

...