0

我为一个运行 java/tomcat/jahia (cms) 的门户创建了一个简单的烟雾测试,前面是缓存服务器和大 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

你如何应对这个问题?有什么建议么?链接到处理这个的代码?片段?

4

1 回答 1

2

您可以像使用 ENV 一样将环境变量传递给 Cucumber。然后,每个环境变量都将在 Ruby 的 ENV 常量中可用。更多细节在Wiki

(我刚刚添加了这个页面——该功能从 0.3.90 开始就已经存在,但只在 History.txt 文件中提到过)。

于 2009-12-16T13:41:29.300 回答