运行 来自 Gradle 的单个 cucumber-jvm .feature 文件

Running Single cucumber-jvm .feature file from Gradle

我正在将 cucumber-java 与现有的 gradle java 项目集成,该项目侧重于测试自动化。该项目中没有生产代码,因此制作整个项目意义不大。

我想做的是创建 gradle 任务或单个 gradle 任务,其中 -D 属性 将 cucumber .feature 文件指定为 运行 cucumber-jvm 上。我见过的所有示例都展示了如何在构建过程中将 cucumber-jvm 设置为 运行。相反,我想定义一个 task testCucumber(type: Test) 到 运行 的单个 .feature 文件。我该怎么做?

我能够通过在 gradle 中使用 javaexec 任务来实现它。

 javaexec {
        main = "cucumber.api.cli.Main"
        classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
        args = ['--plugin', 'junit:target/cucumber-junit-report.xml', '--plugin', 'pretty', '--glue', 'StepDefinitions', 'src/test/Features/FeatureFilename.feature']
    }

这是假设所有步骤定义都在名为 "StepDefinitions" 的包中定义。