Gradle,Kotlin,Junit5和Jacoco - 报道的覆盖率为0%

时间:2018-05-18 09:32:46

标签: gradle kotlin jacoco junit5

我们希望将Gradle与Kotlin和Jacoco(+ JUnit 5)结合使用,以生成代码覆盖率报告。

我们的项目目录树如下所示:

project/{src,test}/main/kotlin ...

我们的build.gradle文件如下所示:

jacoco {
    toolVersion = "0.7.9"
    reportsDir = file("$buildDir/reports")
    applyTo junitPlatformTest
}
jacocoTestReport {
    group = "Reporting"
    description = "Generate Jacoco coverage report."
    classDirectories = fileTree(
            dir: "$buildDir/classes/kotlin/main"
    )
    def coverageSourceDirs = [
            "src/main/kotlin"
    ]
    additionalSourceDirs = files(coverageSourceDirs)
    sourceDirectories = files(coverageSourceDirs)
    executionData = files("$buildDir/jacoco/junitPlatformTest.exec")
    reports {
        xml.enabled = true
        html.enabled = true
        csv.enabled = true
    }

}
test {
    jacoco {
        append = false
        destinationFile = file("$buildDir/jacoco/junitPlatformTest.exec")
        includeNoLocationClasses = true
    }
}
test.dependsOn junitPlatformTest

使用此配置,Jacoco会生成一个html报告并将其放在build/reports/test/html下。但是,它显示我0%的覆盖率。这不应该是这种情况,因为我有一个测试用例可以为项目中的单个虚拟类提供所有方法。

我经历了几个帖子,例如:

然而,我找不到适用于我的解决方案。

0 个答案:

没有答案