运行jacocoReport

我正在使用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 

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

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

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

 test { finalizedBy jacocoTestReport } 

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

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

添加到我的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