当测试覆盖率不够时,我想让jacoco插件失败。我使用gradle页面中的示例:https://docs.gradle.org/current/userguide/jacoco_plugin.html
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.6.201602180812"
reportsDir = file("output/jacoco/customJacocoReportDir")
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.enabled true
html.destination file("output/jacoco/jacocoHtml")
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.5
}
}
rule {
enabled = false
element = 'CLASS'
includes = ['org.gradle.*']
limit {
counter = 'LINE'
value = 'TOTALCOUNT'
maximum = 0.3
}
}
}
}
但是,我收到错误:
无法在类型为org.gradle.api.Project的根项目'demo'中找到参数[build_4v41fim1xdl76q49oxk7mnylv $ _run_closure6 @ 18601994]的方法jacocoTestCoverageVerification()。
任何人都可以建议吗?
根据Gradle版本3.4或更高版本的the docs:
对于也应用Java插件的项目,JaCoCo插件会自动添加以下任务:
jacocoTestReport [...]
jacocoTestCoverageVerification [...]
如果问题中的代码块显示完整的build.gradle
文件,则表示您需要添加应用Java插件的行(apply plugin: 'java'
)。
当然,您也可以自己将一个名为JacocoCoverageVerification
的jacocoTestCoverageVerification
类型的任务添加到您的构建文件中:
task jacocoTestCoverageVerification(type: JacocoCoverageVerification) {
// configuration
}
尝试使用最新版本的gradle。这可以解决您的问题