用gradle从黄瓜测试中获取jacoco报告

时间:2015-06-15 17:52:24

标签: java gradle cucumber code-coverage jacoco

我在一个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 个答案:

答案 0 :(得分:0)

只需使用此jvm Argument

添加JaCoCo Agent jar
-javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]

生成.exec文件。

报告生成

基于收集的* .exec文件,可以使用与使用Java代理收集的执行数据相同的方式创建报告。请注意,对于报告生成,必须提供原始类文件,而不是提供的检测副本。

请参阅http://www.eclemma.org/jacoco/trunk/doc/agent.html