Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将标记传递给Gradle Cumber任务_Java_Gradle_Cucumber_Cucumber Jvm - Fatal编程技术网

Java 将标记传递给Gradle Cumber任务

Java 将标记传递给Gradle Cumber任务,java,gradle,cucumber,cucumber-jvm,Java,Gradle,Cucumber,Cucumber Jvm,我知道我们可以通过在build.Gradle文件中指定以下内容将cucumber标记传递给Gradle: test { systemProperty "cucumber.options", System.getProperty("cucumber.options") } 因此,当您运行gradlew测试-Dcucumber.options=“--tags@CDC”时,它将只运行带有CDC标记的场景 但我的问题是,我是否可以将cumber选项传递给cumber任务。我之所以需要这样做,是

我知道我们可以通过在build.Gradle文件中指定以下内容将cucumber标记传递给Gradle:

test {
    systemProperty "cucumber.options", System.getProperty("cucumber.options")
}
因此,当您运行
gradlew测试-Dcucumber.options=“--tags@CDC”
时,它将只运行带有CDC标记的场景

但我的问题是,我是否可以将cumber选项传递给cumber任务。我之所以需要这样做,是因为我的cucumber任务在运行任务后创建了一个JSON文件,并且我正在使用gradle cucumber reporting插件()根据JSON文件生成一个报告

黄瓜任务

task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = [
            '--plugin', 'html:cucumber-report',
            '--plugin', 'json:cucumber.json', //generates a .json report file
            '--plugin', 'pretty',
            '--plugin', 'usage:cucumber-usage.json',
            '--glue', 'hellocucumber', 'src/test/resources']
        }
    }
}
在Gradle中运行
test
任务不会更新JSON文件

以下是gradle Cumber报告的片段:

cucumberReports {
  outputDir = file('cucumber-pretty-report')
  buildId = '0'
  reports = files('cucumber.json')
}

您可以在cucumber任务中添加以下内容:

def tags = getProperty("tags")
args = [
'--plugin', 'html:cucumber-report',
'--plugin', 'json:cucumber.json', //generates a .json report file
'--plugin', 'pretty',
'--plugin', 'usage:cucumber-usage.json',
'--glue', 'hellocucumber', 'src/test/resources',
'--tags', tags]
然后,您可以通过以下方式运行任务:

gradle cucumber -P tags=smoke