2010-06-22 42 views
41

我之所以要單獨運行它們,是因爲我需要他們在我的Rake文件中單獨設置的,因爲,我的Java堆空間的佔用,當我運行它們放在一起Ruby on Rails:黃瓜:我如何製作一個功能?

+0

Java堆空間?如果您使用Rake/Rails/Cucumber堆棧,Java如何計算? – 2010-06-22 23:13:56

+0

jruby上運行,我猜 – fakeleft 2011-08-10 10:01:42

+0

不直接。我正在使用一些圖書館以及使用jruby的黃瓜。我認爲CapyBara是一個。 = \ – NullVoxPopuli 2011-08-10 18:04:34

回答

40

要直接回答這個問題,耙,你可以使用:

rake FEATURE=features/adding_products.feature cucumber 

Using Rake wiki頁面建議不要使用耙任何東西,但一個CI服務器上,因爲它是慢啓動。只要用黃瓜命令行模式,即:

cucumber features/adding_products.feature 

,或者,如果你必須:

bundle exec cucumber features/adding_products.feature 
+4

對於新版本,你也可以這樣做 - bundle exec cucumber features/adding_products.feature – 2013-07-11 18:42:57

0

如果使用cuke4duke可以從ant或maven單獨運行。

manual指出您可以使用與黃瓜相同的選項。所以我希望你可以通過命令行運行要運行的功能的文件名。

0

您可以使用script/cucumber來執行單個文件。

假設你在你的項目的根目錄下,你有一個特點文件夾:

./script/cucumber features/adding_products.feature 

編輯:在重新閱讀你的問題後,你找誰做個別功能,或方案?

+0

對我來說,這個作品'cucumber -r features features/adding_products.feature' – sivabudh 2011-06-28 02:07:37

65

正確的方法是,如果你使用Rails 2使用cucumber可執行文件來運行它,或bundle exec cucumber如果您使用的是Rails 3(以及Bundler)。

要運行的特定功能:

[command] features/signing_in.feature 

若要從該特徵的特定情形:

[command] features/signing_in.feature:6 

的行號可以是該特徵內的任何線,但通常是在第一行。

如果運行rake cucumber:ok和一些場景中失敗,在輸出的底部,你會看到這樣的事情:

cucumber features/sigining_in.feature:6 # Signing in via form 

可以三擊該行並將其粘貼到你的終端只是運行場景。

+13

要運行一個場景,你也可以輸入這個: 'cucumber --name「通過表單登錄」' – Bastien 2011-03-09 13:42:20

+0

謝謝瑞安和巴斯蒂安。這應該是被接受的答案。 – 2015-09-14 17:23:43

36

耙子沒有爲我工作。 剛剛用bundle exec替換了rake,它就起作用了。下面是 是一個示例。

bundle exec cucumber features/users/signup。功能--require功能

+0

爲我工作。謝謝 – 2011-10-23 15:32:41

+1

也爲我工作。如果我省略 - 需要功能黃瓜未能確定步驟定義。 – 2013-05-18 06:54:54

+0

對,有同樣的問題。替代顯然是硬編碼' - 需要功能'替換這行** config/cucumber.yml **'std_opts =「--format#{ENV ['CUCUMBER_FORMAT'] ||'pretty'}這行 - strict --tags〜@ wip「' with'std_opts =」--format#{ENV ['CUCUMBER_FORMAT'] ||'pretty'} --strict --tags〜@ wip --require features /「' 參見[這個問題](http:// stackoverflow。com/questions/6264030/rake-runs-all-my-cucumber-tests-fine-but-cucumber-doesnt-have-the-steps) – 2013-10-02 15:37:28

15

我不是當問題問肯定黃瓜的tag feature可用,但我更喜歡設置@active標籤

@active 
    Feature .. 

@active 
    Scenario .. 

cucumber --tags @active 
11

我喜歡短命令$ cucumber -n

如果:

Feature: Manage Contents 
    In order to manage instances from custom content types 
    … 

則:如果您有多個黃瓜項目在大型企業是

$ cucumber -n "Manage Contents" 
+0

只有一個爲我工作的宙斯 - 謝謝! – Houen 2015-04-17 10:42:05

+0

好的朋友,你是天才 – 2015-12-18 22:41:18

1

要運行一個單一功能的文件。

cucumber /project folder/features/featurefile.feature 

要運行特定情形:

cucumber /project folder/features/featurefile.feature:10 

其中10是場景的線。

如果使用捆綁,

bundle exec cucumber /project folder/features/featurefile.feature