我正在将一个cucumber java与一个现有的gradle java项目集成,该项目专注于测试自动化。这个项目中没有生产代码,所以制作整个项目没有什么意义。
我想做的是创建gradle任务或一个带有-D属性的gradle任务,该属性指定一个运行cucumber jvm的cucumber.feature文件。我看到的所有示例都显示了如何让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"的包中定义的。