я был в состоянии получить отчет покрытия кода, следуя приведенным ниже инструкциям,Jacoco преобразования coverage.ec сообщениям без coverage.em
Включить покрытие от типа сборки вы хотите (например, отладка)
buildTypes { debug { testCoverageEnabled true } }
Применить Jacoco плагин и установить версию
apply plugin: 'jacoco' jacoco { version "0.7.1.201405082137" }
Run
./gradlew createDebugCoverageReport
Все тесты в connectedAndroidTest запускаются и отчет покрытия формируется на их основе. Я могу найти отчеты покрытия в
app/build/outputs/reports/coverage/{buildType}/index.html
и coverage.ec файл в
app/build/outputs/code-coverage/connected/coverage.ec
Но нет jacoco.exec, так как я бегу из Android Instrumentation вместо Robolectric тестовые примеры.
И когда я бегу инструментовку от АБР (я предполагаю, что это все еще использует Эмме) следующим образом, я получаю coverage.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
Но я не в состоянии преобразовать покрытие .ec, чтобы сообщить об использовании emma, так как отсутствует файл coverage.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
Есть ли способ обойти эту проблему ??
Я был в состоянии преобразовать coverage.ec файл отчета jacoco с помощью пользовательского Gradle задачи, реализация в https://github.com/srideviaishwariya/Automation-Tools- for-Android/tree/master/Sample1 – sri