Eclipse - Java - Gradle正在跳过jacocoTestReport

时间:2016-09-21 07:57:42

标签: java eclipse gradle jacoco

项目结构:

    src/main/java
    src/main/resources
    src/test/java

Gradle版本:2.2.1

这是我的build.gradle

    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'jacoco'
    version = '1.0'
   sourceCompatibility = 1.7
   targetCompatibility = 1.7

 test {
    include 'src/test/java'
    finalizedBy jacocoTestReport

   }

  jacoco {
    toolVersion = "0.7.6.201602180812"

  }

 jacocoTestReport {
  group = "Reporting"
  description = "Generate Jacoco coverage reports after running tests."
  additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
  reports {
      xml.enabled false
      csv.enabled false
      html.destination "${buildDir}/reports/jacoco/html"
}
}

当我运行gradle任务"测试jacocoTestReport"时,我得到以下结果

  :compileJava UP-TO-DATE
  :processResources UP-TO-DATE
  :classes UP-TO-DATE
  :compileTestJava UP-TO-DATE
  :processTestResources UP-TO-DATE
  :testClasses UP-TO-DATE
  :test UP-TO-DATE
  :jacocoTestReport SKIPPED

有人可以建议应该添加什么来执行jacoco测试报告。

感谢。

4 个答案:

答案 0 :(得分:5)

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

来源 - Running jacocoReport

答案 1 :(得分:2)

我能够通过以下设置生成代码覆盖率结果。

 apply plugin: 'jacoco'
 jacocoTestReport {
   reports {
   xml.enabled false
   csv.enabled false
   html.destination "${buildDir}/jacocoHtml"
 }
}

答案 2 :(得分:0)

晚些时候参加聚会,但是上面的答案都没有为我解决。相反,更改

dependencies {
    testCompile 'org.junit.jupiter:junit-jupiter-api:5.0.0-M2'
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.5.2'
}

就像是魅力(source)。

答案 3 :(得分:0)

你可以强制它运行:

<块引用>

jacocoTestReport { onlyIf = { 真的 } }

这可能会产生错误(首先它没有运行是有原因的),但错误应该提供更多信息。