我在一个java项目中使用gradle,我使用gradle任务运行我的黄瓜测试,如下所示:
task cucumber (){
//task that starts the app
dependsOn 'jettyRunDaemon'
jvmArgs '-javaagent:E:/MyProject/build/jacoco/jacocoagent.jar=destfile=build/jacoco/jacoco.cucumber.exec'
doLast {
javaexec {
main = 'cucumber.api.cli.Main'
classpath = sourceSets.main.output +
sourceSets.test.output +
configurations.testRuntime
args = cucumberArgs()
}
}
}
List<String> cucumberArgs() {
def args = [
'--format', 'junit:build/cucumber-reports/junit/report.xml',
'--format', 'html:build/reports/cucumber',
'-f', 'pretty',
'--glue', 'com.company.packageWithGlueJavaCode']
// Feature locations
args.add('src/test/resources/features')
return args
}
有没有人知道是否通过配置gradle来获得我的黄瓜测试的Jacoco代码覆盖率报告?我知道,对于JUnit(测试任务),jacoco会自动在jacoco / * .exec中创建一个exec文件,我可以从中获取一个报告......但是我可以得到一个,让我们说一个cucumber.exec文件得到一个报告?
1 回答
只需添加一个带有此jvm Argument的JaCoCo Agent jar
生成.exec文件 .
报告生成
基于收集的* .exec文件,可以使用与使用Java代理收集的执行数据相同的方式创建报告 . 请注意,对于报告生成,必须提供原始类文件,而不是已检测的副本 .
见http://www.eclemma.org/jacoco/trunk/doc/agent.html