我在一个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文件得到一个从它报告??
答案 0 :(得分:0)
只需使用此jvm Argument
添加JaCoCo Agent jar-javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]
生成.exec文件。
报告生成
基于收集的* .exec文件,可以使用与使用Java代理收集的执行数据相同的方式创建报告。请注意,对于报告生成,必须提供原始类文件,而不是提供的检测副本。