我正在开发一个使用Gradle作为构建系统的Java项目。
我想使用Cucumber-JVM添加一些bdd测试。在this example之后,我能够将Gradle的build.gradle配置为一个名为cucumber的任务,并且我能够使用“gradle cucumber”执行该任务。
但我正在寻找的是让Gradle在测试阶段(运行所有其他常规单元测试)自动运行该任务的方法。如果任何黄瓜测试失败(strict = true),我还希望将构建标记为失败。
这可能吗?我对Gradle和Google了解不多,到目前为止还没有真正有用的东西。
答案 0 :(得分:2)
好的,所以我想出了如何实现这一目标。只需将其添加到build.gradle:
test << {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--strict', '--monochrome', '--plugin', 'pretty', '--glue', 'com.mypackage', 'src/test/resources']
}
}
您真正需要的是功能文件和实现粘合代码的步骤java文件。由于Gradle忽略它,因此您不需要带有@RunWith注释的xxxCukesTest.java文件。无论如何,您可能希望保留它,因为它使您能够从IDE运行测试。
工作真的很整洁!