找不到方法jacocoTestCoverageVerification()

问题描述 投票:3回答:2

当测试覆盖率不够时,我想让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 jacoco
2个回答
5
投票

根据Gradle版本3.4或更高版本的the docs

对于也应用Java插件的项目,JaCoCo插件会自动添加以下任务:

jacocoTestReport [...]

jacocoTestCoverageVerification [...]

如果问题中的代码块显示完整的build.gradle文件,则表示您需要添加应用Java插件的行(apply plugin: 'java')。

当然,您也可以自己将一个名为JacocoCoverageVerificationjacocoTestCoverageVerification类型的任务添加到您的构建文件中:

task jacocoTestCoverageVerification(type: JacocoCoverageVerification) {
    // configuration
}

2
投票

尝试使用最新版本的gradle。这可以解决您的问题

© www.soinside.com 2019 - 2024. All rights reserved.