2011-12-07 41 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

非常有用,谢谢 –