Я пытаюсь настроить тестовое покрытие с помощью jacoco, но пока безуспешно.
В моем build.gradle я добавил:
apply plugin: 'jacoco'
(...)
buildTypes {
debug {
testCoverageEnabled true
}
(...)
task jacocoTestReport(type: JacocoReport, dependsOn: "test<MyFlavor>DebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports"
reports {
xml.enabled = true
html.enabled = true
}
def fileFilter = []
def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.projectDir, includes:
['**/*.exec' , '**/*.ec'])
}
Затем я запускаю отчет о тестировании JaCoCo со следующим кодом:
./gradlew clean create<MyFlavor>DebugCoverageReport jacocoTestReport
Я вижу, что модульные тесты выполняются успешно, но когда я открываю отчет о тестировании, расположенный в:
<project>/build/reports/jacoco/jacocoTestReport/html/index.html
отчет кажется пустым, так как покрытие указано как «Н / Д», и даже не отображаются пакеты проектов.
Более того, если я попытаюсь открыть файл покрытия по адресу
<project>/build/jacoco/test<MyFlavor>DebugUnitTest.exec
при использовании Android Studio все классы сообщают о покрытии 0,0%.
Я использую gradle 3.0.1
Что я делаю неправильно? Это как-то связано с использованием ароматизаторов?