首页 > 解决方案 > JaCoCo Gradle 插件不生成 xml 或 html 报告

问题描述

我试图在运行时生成 JaCoCo 代码覆盖率报告./gradlew test。我的build.gradle文件中有以下内容:


apply plugin: "java" // needed by jacoco plugin
apply plugin: "jacoco"


test {
    useJUnitPlatform()
}

jacoco {
    toolVersion = "0.8.5"
    applyTo junitPlatformTest
}

jacocoTestReport {
    reports {
        xml.enabled true
        html.enabled true
        html.destination file("${buildDir}/jacoco/jacocoHtml")
    }
}

junitPlatformTest {
    jacoco {
        destinationFile =  file("${buildDir}/jacoco/jacocoReport.exec")
    }
}

每当我运行测试时,都不会生成 xml 或 html 报告。但是,JaCoCo确实junitPlatformTest.exec会在{buildDir}/jacoco. 我怎样才能让它生成一些 xml 和 html 报告呢?

标签: gradlejacoco

解决方案


JaCoCo 似乎添加了一些任务,但不会自动将它们作为依赖项附加到测试任务。

我在 build.gradle 中进行了以下操作,以在测试运行后生成覆盖率:

test.finalizedBy jacocoTestReport

您可以使用 dependsOn 而不是 finalizedBy 但如果测试失败,dependsOn 不会为您提供覆盖范围。


推荐阅读