当Jacoco代码覆盖率低于某个百分比时,我试图使Gradle Build失败。
<jacoco:report>
...
<check failonviolation="true">
<rule element="PACKAGE">
<limit counter="LINE" value="COVEREDRATIO" minimum="0.80"/>
<limit counter="CLASS" value="MISSEDCOUNT" maximum="0"/>
</rule>
</check>
...
</jacoco:report>
如果不能直接将此Ant任务添加到Gradle jacoco插件中,该怎么办?
我看到了这个链接 - http://forums.gradle.org/gradle/topics/how-to-fail-the-build-on-insufficient-code-coverage
TIA,
维杰
答案 0 :(得分:2)
最近,由于Jacoco覆盖率验证已添加到Gradle 3.4(issue #824),因此最近有所改进!
在Gradle 3.4之前,您必须采用手工制作的解决方法,例如this one。
使用Gradle 3.4或更高版本,您可以使用standard Jacoco plugin(Gradle 4.0的示例):
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.5
}
}
}
}
在上面的示例中,我们检查最小线路覆盖率为50%。更复杂的违规规则是可能的,并且还可以组合多个违规规则。请参阅链接文档。
为了运行如此配置的检查,我们得到任务jacocoTestCoverageVerification
。可以使用jacocoTestReport
创建覆盖率报告。这些任务可以通过添加类似的东西自动运行(thx @Thunderforge):
test.finalizedBy jacocoTestCoverageVerification, jacocoTestReport