Jacoco конвертирует покрытие .ec в отчеты без покрытия.

Я смог получить отчет о покрытии кода, выполнив следующие действия:

Включите покрытие на желаемом типе сборки (например, отладка)

buildTypes { debug { testCoverageEnabled true } }

Примените плагин Jacoco и установите версию

apply plugin: 'jacoco' jacoco { version "0.7.1.201405082137" }

Бежать

./gradlew createDebugCoverageReport

Все тесты в connectedAndroidTest выполняются, и на их основе создается отчет о покрытии. Я могу найти отчеты о освещении в

app/build/outputs/reports/coverage/{buildType}/index.html

и файл cover.ec в

app/build/outputs/code-coverage/connected/coverage.ec

Но нет jacoco.exec, так как я использую Android Instrumentation вместо Robolectric.

И когда я запускаю инструментарий из ADB (полагаю, он все еще использует Эмму) следующим образом, я получаю файл cover.ec следующим образом:

$ adb shell am instrument -w -e coverage true -e coverageFile /sdcard/coverage.ec com.sample.helloworld.test/.Runner
....
OK (4 tests)

Generated code coverage data to /sdcard/coverage.ec

Но я не могу преобразовать файл cover.ec в отчет с использованием emma, так как отсутствует файл cover.em,

java -cp ~/adt-bundle-mac-x86_64-20130729/sdk/tools/lib/emma_device.jar emma report -r html -in \
coverage.em,myFile.ec,myapp_coverage1.ec -sp /path/to/myapp/src

Есть ли способ обойти эту проблему ??

Ответы на вопрос(3)

Ваш ответ на вопрос