2012-10-03 57 views
7

我想爲Cucumber設置「名稱」選項,以便能夠運行特定功能或場景。從命令行在Maven中設置cucumber-jvm選項

我已經進入了這個,

mvn test -DCucumber.Options--name="MyFeatureName" 

,但它只是運行的所有功能,不給錯誤。

任何想法?

回答

15

這裏是從黃瓜JVM回購一個snippet如何通過傳遞黃瓜選項來運行Java的HelloWorld示例:

mvn test -Dcucumber.options="--format json-pretty --glue classpath:cucumber/examples/java/helloworld src/test/resources" 

請記住,這將覆蓋@Cucumber所有選項。 「RunCukesTest」中的選項註釋。我沒有爲我自己的測試工作,但也許這會有所幫助。

所以它看起來像你需要提供運行黃瓜所需的所有選項,包括java類路徑和代碼使用「--glue」參數所在的位置。

+0

謝謝!我正在嘗試執行「 - 名稱某事」來運行特定的功能或場景。如果您要運行的功能或場景在名稱中有空格,我發現這不起作用。您是否必須在命令行中跳過空格? –

+0

是的,我想你會需要報價。如果雙引號(「)不起作用,請嘗試使用單引號('),您也可以嘗試用斜槓轉義引號或者如果其他所有內容都不能使用變量替換。 通過變量替換,我的意思是做類似這樣的事情在Linux中: 出口FEATURE_NAME =「我的地圖用空格」 MVN測試-Dcucumber.options =「 - 名$ FEATURE_NAME」 ...等 只是一些想法,我仍然試圖得到它的工作爲我的具體情況:) – Fab

+1

我認爲這個領域在一個月前還沒有修正,但還有一個bug,https://github.com/cucumber/cucumber-jvm/issues/379 –

0

您的測試在單獨的JVM中運行,因此您需要在測試插件配置中指定該系統屬性(即在您的pom.xml中的surefire或failsafe插件配置)。