首页 文章

Jacoco在我的Gradle项目中没有显示Spock代码覆盖率

提问于
浏览
0

我有一个配置了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"
}

1 回答

  • 4

    来自@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"
        }
    }
    

相关问题