Ответ 1
Задача будет выполняться только в том случае, если доступны данные покрытия. Вы можете убедиться в этом, также выполнив задачу test
.
Я использую gradle 1.7 и плагин jacoco. Мой проект использует java и scala плагины
Когда я запускаю gradlew -i clean jacocoTestReport
Отчет не создан, и я вижу в журнале
:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main] - start
:bl:jacocoTestReport
Skipping task ':bl:jacocoTestReport' as task onlyIf is false.
:bl:jacocoTestReport SKIPPED
:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main]) - complete
Что это значит? Почему отчет не создается?
Задача будет выполняться только в том случае, если доступны данные покрытия. Вы можете убедиться в этом, также выполнив задачу test
.
Добавьте в свой gradle.build
следующее:test { finalizedBy jacocoTestReport }
И это сработает. Также вы получите ваш анализ покрытия после запуска тестов.
Ничто из этого не помогло мне. Что сработало для меня, было следующее
Добавить в начало моего build.gradle:
apply plugin: 'jacoco' // code coverage reports
Добавьте следующее как "задачу":
// Generate code coverage reports ... run with jacoco
jacocoTestReport{
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
reports {
xml.enabled false
csv.enabled false
html.destination "${buildDir}/reports/jacoco/html"
}
executionData = files('build/jacoco/test.exec')
}
Добавьте в тестовую задачу gradle следующее:
finalizedBy jacocoTestReport
Затем я выпустил следующую команду:
gradle run test jacoco