2011-12-07 134 views
1

我正在構建一個具有whitelabel選項的Web應用程序。是否可以在Cucumber中設置一個環境變量?

whitelabel選項提供了核心網站的所有相同功能,但基於不同的域。在該域上時,會在網站上應用許多不同的模板和規則以說明白標籤功能。

我想在覈心域和whitelabel域上運行幾乎所有的功能。我如何在Cucumber中設置一個環境變量(最好通過命令行),以便我可以重新運行這些基於新域的關鍵測試?

+1

黃瓜有之前和之後掛鉤檢查http://www.engineyard.com/blog/2009/cucumber-more-advanced/的更多信息。它有幫助嗎? – Bohdan

+0

非常有幫助,謝謝。我不知道這一點,但與@ alistairH的答案一起,這給了我我需要的東西 - ty –

回答

3

您可以通過類似這樣的命令行做到這一點:

bundle exec cucumber features DOMAIN=somedomain.local 

然後,您可以訪問此在Ruby中,例如在你的env.rb文件,如:

if ENV['DOMAIN'] 
    # set features to run against the appropriate domain 
end 
+0

謝謝。作爲後續問題,您是否知道如何設置rake任務以運行具有不同初始化的多組測試? –

+1

我已經做了類似的事情,只需設置兩個獨立的rake任務,然後執行第三個任務,任務:黃瓜=> ['黃瓜:sometests','黃瓜:somemoretests']。對此並不滿意,但如果第一組失敗,第二組永遠不會運行。 – AlistairH

+0

非常有用,謝謝 –