关于Gradle,如何自动运行测试

关于Gradle,如何自动运行测试,gradle,cucumber-jvm,Gradle,Cucumber Jvm,我正在从事一个Java项目,该项目使用Gradle作为其构建系统 我想使用JVM添加一些bdd测试。接下来,我能够配置Gradle的build.Gradle,使其拥有一个名为cucumber的任务,并且我能够使用“Gradle cucumber”执行该任务 但我所寻找的是一种让Gradle在其测试阶段(运行所有其他常规单元测试)自动运行该任务的方法。我还希望在任何cucumber测试失败时,将构建标记为失败(strict=true) 这可能吗?我对Gradle了解不多,到目前为止,谷歌还没有产生

我正在从事一个Java项目,该项目使用Gradle作为其构建系统

我想使用JVM添加一些bdd测试。接下来,我能够配置Gradle的build.Gradle,使其拥有一个名为cucumber的任务,并且我能够使用“Gradle cucumber”执行该任务

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


这可能吗?我对Gradle了解不多,到目前为止,谷歌还没有产生任何真正有用的东西。

好吧,所以我想出了实现这一点的方法。只需将此添加到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']
        }
}

如果有人需要在Android项目中实现这一点,那么测试可能会派上用场:上面的方法对我不起作用,因为它基于Gradle的Java插件,与Android插件不兼容。我找到的解决方案基于Android提供的
unitTests.all
hook。详细信息可在我的SO问题中找到:&在这篇博文中: