2016-02-16 26 views
0

我正在研究一個使用Gradle作爲其構建系統的Java項目。Cucumber-JVM with Gradle,如何自動運行測試

我想使用Cucumber-JVM添加一些bdd測試。在this example之後,我能夠將Gradle的build.gradle配置爲一個名爲cucumber的任務,並且我能夠使用「gradle cucumber」執行該任務。

但是我正在尋找的是一種讓Gradle在測試階段(運行所有其他常規單元測試)自動運行該任務的方法。如果任何黃瓜測試失敗(嚴格=真),我也希望構建被標記爲失敗。

這可能嗎?我對Gradle和Google並不瞭解,到目前爲止,Google並沒有真正有用的東西。

回答

0

好吧,我想出瞭如何做到這一點。只需將其添加到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忽略它,因此不需要將xxxCukesTest.java文件與@RunWith註釋一起使用。無論如何,您可能想保留它,因爲它可以讓您從IDE運行測試。

工程真的很整潔!