Jacoco:jacocoTestResport可以正常运行,但是jacocoTestCoverageVerification始终显示0个覆盖率

时间:2019-08-23 22:38:13

标签: java spring-boot gradle jacoco

我想做一些简单的单元测试及其覆盖率报告:实际上,一切正常,但是代码覆盖率任务总是响应说覆盖率为0%

实际上我正在使用Gradle 5.6;哈科科0.8.4

我尝试验证测试范围是否未读取.exec文件,但确实如此。 我排除了所有bean,因为它们使用了lombok表示法,以避免合成代码和覆盖问题(无论问题仍然存在)

/*Especificación de cobertura de código para test unitarios
-Qué clases incluir y excluir en la cobertura
-De las clases incluidas
    --Mínimo de % de cobertura ok

Además agregamos rutina de jacocoTestReport en tarea de tests
*/

jacocoTestReport {

    getClassDirectories().setFrom(classDirectories.files.collect {
            fileTree(dir: it,
                    exclude: ['example/config/*',
                    'example/dto/*',
                    'example/model/configuration/*'])
        })


    getSourceDirectories().setFrom(sourceSets.main.java.srcDirs)

    getExecutionData().setFrom(
        fileTree(dir: "${buildDir}/jacoco", include:["**/*.exec"]))

    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("${buildDir}/jacocoHtml")
    }
}

jacocoTestCoverageVerification {

    getClassDirectories().setFrom(classDirectories.files.collect {
            fileTree(dir: it,
                    exclude: ['example/config/*',
                    'example/dto/*',
                    'example/model/configuration/*'])
        })


    getSourceDirectories().setFrom(sourceSets.main.java.srcDirs)

    getExecutionData().setFrom(
        fileTree(dir: "${buildDir}/jacoco", include:["**/*.exec"]))

    violationRules {

        rule {
            enabled = true
            limit {
                counter = 'INSTRUCTION'
                value = 'COVEREDRATIO'
                //minimum = 0.05
                /*Los test actuales cubren el 6% del código
                Este requisito debería fallar*/
                minimum = 0.1
            }
        }

    }
}

实际上,我想重现行为以使覆盖率测试失败,因为htmlReport中的JacocoTestReport显示指令覆盖率总计为6%,但控制台消息始终显示该值为零

“ [ant:jacocoReport]捆绑包示例-ms的规则违反:指令覆盖率是0.0,但预期最小值是0.1

失败:构建失败,并出现异常。

  • 出了什么问题: 任务':jacocoTestCoverageVerification'的执行失败。
      

    bundle example-ms违反规则:指令覆盖率是0.0,但预期最小值是0.1“

我在测试任务中添加了JacocoTestReport(使用finalize)...工作正常 之后,如果我执行gradle jacocoTestCoverageVerification,它总是显示上述消息

0 个答案:

没有答案
相关问题