我正在开发一个使用 Gradle 作为构建系统的 Java 项目。
我想使用 Cucumber-JVM 添加一些 bdd 测试。正在关注this example我能够配置 Gradle 的 build.gradle 来执行名为 cucumber 的任务,并且我能够使用“gradle cucumber”执行该任务。
但是我正在寻找一种让 Gradle 在测试阶段(运行所有其他常规单元测试)自动运行该任务的方法。我还希望如果任何 cucumber 测试失败 (strict=true),则将构建标记为失败。
这可能吗?我对 Gradle 了解不多,而且 Google 到目前为止还没有产生任何真正有用的东西。
最佳答案
好吧,我想出了如何实现这一目标。只需将其添加到 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 文件。您不需要带有 @RunWith 注释的 xxxCukesTest.java 文件,因为 Gradle 会忽略它。无论如何,您可能希望保留它,因为它使您能够从 IDE 运行测试。
工作真的很整洁!
关于gradle - Cucumber-JVM 与 Gradle,如何自动运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35425984/