unit-testing - Jacoco在我的Gradle项目中未显示Spock代码覆盖率

标签 unit-testing gradle code-coverage spock jacoco

我有一个配置了jacoco插件的Gradle项目来报告测试代码覆盖率。我的单元测试是用Spock框架编写的。

尽管Jacoco插件生成了HTML报告,但它报告所有类的代码覆盖率均为0%。

我在Google上搜索了很多,找不到我想要的东西。有没有人与Gradle + Jacoco一起使用Spock代码?

apply plugin: "jacoco"
apply plugin: "groovy"

sourceSets {
    main {
        java { srcDirs = ['src/main/java'] }
        groovy {srcDirs = ['src/main/groovy'] }
        resources { srcDir 'src/main/resources' }
    }

    test {
        java { srcDirs = ['src/test/java'] }
        groovy { srcDirs = ['src/test/groovy'] }
        resources { srcDir 'src/test/resources' }
    }
}

test {
    jvmArgs '-Xms64m', '-Xmx2G', '-XX:MaxPermSize=128m'
}

jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}

dependencies {
    testCompile "org.spockframework:spock-core:0.7-groovy-2.0"
    testCompile "org.spockframework:spock-spring:0.7-groovy-2.0"
}

最佳答案

@PeterNiederwieser的建议非常有效。这是最终结果:

apply plugin: "groovy"
apply plugin: "jacoco"

repositories { mavenCentral() }

dependencies {
  compile "org.codehaus.groovy:groovy-all:2.2.2"
  testCompile "org.spockframework:spock-core:0.7-groovy-2.0"
}

jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}

关于unit-testing - Jacoco在我的Gradle项目中未显示Spock代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23983369/

相关文章:

visual-studio-2010 - VS2010 Code Coverage 是否支持 nUnit?

android - 如何从 Jacoco 代码覆盖范围中排除 Fragment

c - 具有静态变量的 C 函数中的单元测试

javascript - 用 Jasmine 监视 console.error()

c# - 为单元测试准备编码的最佳策略

gradle - 运行gradle htmlDependencyReport时发生NullPointerException

java - 将 Android Java 模块转换为普通 Java 模块需要执行哪些步骤?

unit-testing - 使用 Mockery 进行 Laravel Controller 测试

Python - 对象MagicMock不能在 'await'表达式中使用

gradle - 如何在Gradle 4.10.3中使用Kotlin Gradle DSL从sourceSets中获取 'allJava'?