带Gradle的Cucumber-JVM,如何自动运行测试

时间:2016-02-16 07:08:54

标签: gradle cucumber-jvm

我正在开发一个使用Gradle作为构建系统的Java项目。

我想使用Cucumber-JVM添加一些bdd测试。在this example之后,我能够将Gradle的build.gradle配置为一个名为cucumber的任务,并且我能够使用“gradle cucumber”执行该任务。

但我正在寻找的是让Gradle在测试阶段(运行所有其他常规单元测试)自动运行该任务的方法。如果任何黄瓜测试失败(strict = true),我还希望将构建标记为失败。

这可能吗?我对Gradle和Google了解不多,到目前为止还没有真正有用的东西。

1 个答案:

答案 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运行测试。

工作真的很整洁!