gpt4 book ai didi

java - 将标签传递给 Gradle cucumber 任务

转载 作者:行者123 更新时间:2023-12-02 08:59:21 26 4
gpt4 key购买 nike

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

test {
systemProperty "cucumber.options", System.getProperty("cucumber.options")
}

因此,当您运行 gradlew test -Dcucumber.options="--tags @CDC" 时,它只会运行带有 CDC 标记的场景。

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

cucumber 任务

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-cucumber-reporting 的代码片段:

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

关于java - 将标签传递给 Gradle cucumber 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60281332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com