运行 来自 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" 的包中定义。
我正在将 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" 的包中定义。