My Gradle build выполняет следующие действия:
- Запускает тесты
- Открывает отчет о тестировании в браузере
- Открывает покрытие теста в браузере
- Проверяет, что тестовое покрытие составляет не менее 80%
Соответствующие задачи в build.gradle
:
task testWithReports {
description "Runs all tests, open the coverage and test reports in a browser, and verify the test coverage rules"
dependsOn 'clean'
dependsOn 'test'
dependsOn 'jacocoTestReport'
dependsOn 'showCoverage'
dependsOn 'showTestResults'
dependsOn 'jacocoTestCoverageVerification'
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}
}
task showCoverage {
doLast {
desktop.browse "file:///${buildDir}/jacocoHtml/index.html".toURI()
}
}
task showTestResults {
doLast {
desktop.browse "file:///${buildDir}/junitHtml/index.html".toURI()
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.8
}
}
}
}
Если я запускаю testWithReports
и jacocoTestCoverageVerification
Подзадача не выполняется, протоколы испытаний не открываются. Есть ли способ определить эти задачи, который гарантирует, что эти отчеты всегда открыты?