Gradle 的 Cucumber-JVM,如何 运行 自动测试
Cucumber-JVM with Gradle, how to run tests automatically
我正在开发一个使用 Gradle 作为构建系统的 Java 项目。
我想使用 Cucumber-JVM 添加一些 bdd 测试。在 this example 之后,我能够将 Gradle 的 build.gradle 配置为有一个名为 cucumber 的任务,并且我能够使用 "gradle cucumber".
执行该任务
但我正在寻找的是一种在测试阶段自动执行 Gradle 运行 该任务的方法(其中 运行 所有其他常规单元测试)。如果任何黄瓜测试失败 (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 作为构建系统的 Java 项目。
我想使用 Cucumber-JVM 添加一些 bdd 测试。在 this example 之后,我能够将 Gradle 的 build.gradle 配置为有一个名为 cucumber 的任务,并且我能够使用 "gradle cucumber".
执行该任务但我正在寻找的是一种在测试阶段自动执行 Gradle 运行 该任务的方法(其中 运行 所有其他常规单元测试)。如果任何黄瓜测试失败 (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.
进行 运行 测试作品真的很漂亮!