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.

进行 运行 测试

作品真的很漂亮!