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