运行jacocoReport

时间:2013-11-17 15:18:24

标签: java scala gradle jacoco

我正在使用gradle 1.7和jacoco插件。 我的项目使用java和scala插件

我跑的时候 gradlew -i clean jacocoTestReport

未创建报告,我在日志中看到

:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main] - start
:bl:jacocoTestReport
Skipping task ':bl:jacocoTestReport' as task onlyIf is false.
:bl:jacocoTestReport SKIPPED
:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main]) - complete

这是什么意思?为什么不创建报告?

3 个答案:

答案 0 :(得分:29)

只有在覆盖数据可用时才会运行该任务。您还可以通过运行test任务来确保这一点。

答案 1 :(得分:26)

将以下内容添加到build.gradle的顶层:

test {
 finalizedBy jacocoTestReport
}

这意味着在测试任务结束时应该运行jacocoTestReport任务。 运行测试后,您将收到覆盖率分析。

答案 2 :(得分:10)

以上都不适合我。对我有用的是以下

添加到我的build.gradle顶部:

apply plugin: 'jacoco' // code coverage reports

将以下内容添加为'

// Generate code coverage reports ... run with jacoco
jacocoTestReport{
    additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
    reports {
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/reports/jacoco/html"
    }
    executionData = files('build/jacoco/test.exec')
}

将以下内容添加到您的gradle测试任务中:

finalizedBy jacocoTestReport

然后我发出以下命令:

gradle run test jacoco