我的 build.gradle 文件中有以下内容。如果覆盖范围低于某个值,我会尝试使构建失败。
project.task(type: JacocoCoverageVerification, "jacocoTestCoverageVerification", overwrite: true) {
executionData(junitPlatformTestTask)
sourceSets(sourceSets.main)
sourceDirectories = files(sourceSets.main.allSource.srcDirs)
classDirectories = files(sourceSets.main.output)
onlyIf = {
true
}
violationRules {
rule {
limit {
counter = 'INSTRUCTION'
value = 'COVEREDRATIO'
minimum = 0.001
}
}
}
}
如何在这里参数化“最小值”的值,以便在构建项目时可以通过 Jenkins 或 Team city 传递它。任何帮助将不胜感激。
最佳答案
在Jenkinks中使用参数化构建,添加参数“minimumValue”。然后你可以在 build.gradle 中使用它:
task jacocoJupTestReport(type: JacocoReport) {
executionData(test)
sourceSets(sourceSets.main)
sourceDirectories = files(sourceSets.main.allSource.srcDirs)
classDirectories = files(sourceSets.main.output)
reports {
xml.enabled true
xml.destination file("${buildDir}/reports/jacoco/report.xml")
html.enabled false
csv.enabled false
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
counter = 'INSTRUCTION'
value = 'COVEREDRATIO'
minimum = project.properties["minimumValue"]
}
}
}
}
}
关于java - Jacoco参数化违规规则值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50603061/