我为一个运行java / tomcat / jahia(cms)的门户网站创建了一个简单的smoketest,它由缓存服务器和大ip提供。 Cucumber + Webrat + Mechanize非常适合这种设置的简单烟雾测试。 (并且它很容易上手)。
现在我已经硬编码到/features/support/paths.rb以下几行:
module NavigationHelpers
#PATH="http://production-environment"
#PATH="http://staging-environment"
#PATH="http://test-environment"
PATH="http://localhost:8080"
#
def path_to(page_name)
case page_name
when /the homepage/
"#{PATH}/"
when [...]
...
end
end
end
World(NavigationHelpers)
现在,当我想测试不同的环境时,我会手动切换注释。这里的问题是我喜欢摆脱常量PATH 并在其中一个支持文件中放置一个默认值。我还希望能够从命令行中使用此环境变量来提供黄瓜,如下所示:
cucumber ENV=staging
你如何应对这个问题?有什么建议?链接到处理此问题的代码?段?
答案 0 :(得分:2)
您可以像使用ENV一样将环境变量传递给Cucumber。然后,每个环境变得可用于Ruby的ENV常量。 Wiki
中的更多详细信息(我刚刚添加了这个页面 - 该功能自0.3.90以来一直存在,但只在History.txt文件中提到过。)