簡體   English   中英

如果代碼覆蓋率低於閾值,則使用jacoco check元素,Gradle jacoco會失敗

[英]Gradle jacoco fail if code coverage below a threshold using jacoco check element

當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,

維傑

隨着Jacoco覆蓋驗證被添加到Gradle 3.4( 問題#824 ),這最近有所改善!

在Gradle 3.4之前,你不得不采用手工制作的解決方法,比如這個

使用Gradle 3.4或更高版本,您可以使用標准的Jacoco插件 (Gradle 4.0的示例):

jacocoTestCoverageVerification {
    violationRules {
        rule {
            limit {
                minimum = 0.5
            }
        }
    }
}

在上面的例子中,我們檢查最小線路覆蓋率為50%。 更復雜的違規規則是可能的,並且還可以組合多個違規規則。 請參閱鏈接的文檔。

為了運行如此配置的檢查,我們得到任務jacocoTestCoverageVerification 可以使用jacocoTestReport創建覆蓋率報告。 這些任務可以通過添加這樣的東西自動運行(thx @Thunderforge):

test.finalizedBy jacocoTestCoverageVerification, jacocoTestReport

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM