首页 文章

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

提问于
浏览
1

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

    只需添加一个带有此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

相关问题