Jacoco Gradle插件及其对测试任务的依赖

时间:2019-03-17 16:27:03

标签: java gradle build.gradle jacoco gradle-plugin

我正在关注这些文档

https://docs.gradle.org/4.2.1/userguide/jacoco_plugin.html

在Java应用程序中,启用了Java插件的情况下,我添加了以下行以启用jacoco插件

应用插件:“ jacoco”

文档状态

  

如果Java插件也应用于您的项目,则将创建一个名为jacocoTestReport的新任务,该任务取决于测试任务

所以现在我跑步

./gradlew build jacocoTestReport

我可以看到它作为构建的一部分开始了测试,但是我们有一些失败的测试,因此整个测试任务都报告为失败。

jacoco代码覆盖率报告未生成任何内容。

如果我运行

./gradlew jacocoTestReport

我收到成功的报告

这听起来像是一个愚蠢的问题,但这是第一个命令./gradle1 build jacocoTestReport无法生成报告的原因,是因为测试失败了吗?

对于gradle和任务依赖项有些陌生,因此我非常感谢您提供的任何帮助。

出于兴趣,如果测试通过,仅./gradlew构建会运行jacocoTestReport任务吗?

谢谢

3 个答案:

答案 0 :(得分:1)

我更喜欢“教人钓鱼”而不是给鱼。本着这种精神,我建议您添加task tree plugin,以便可以直观地看到自己发生的事情

plugins {
  id "com.dorongold.task-tree" version "1.3.1"
}

您可以尝试

gradle build taskTree

gradle jacocoTestReport taskTree 

然后查看每个任务树中的内容

答案 1 :(得分:0)

我已经注释掉了失败的测试并运行了./gradlew build

其余测试通过了,但没有报告。

我喜欢钓鱼,所以我会在lance-java的技巧上重击!

还要尝试./gradlew构建jacocoTestReport

./ gradlew构建jacocoTestReport是赢家!

答案 2 :(得分:0)

这是因为测试失败。

在build.gradle中添加以下内容将确保生成覆盖率:

test.finalizedBy jacocoTestReport