在非铁路黄瓜试验中使用环境变量

时间:2009-12-16 12:38:59

标签: executable cucumber webrat

我为一个运行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

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

1 个答案:

答案 0 :(得分:2)

您可以像使用ENV一样将环境变量传递给Cucumber。然后,每个环境变得可用于Ruby的ENV常量。 Wiki

中的更多详细信息

(我刚刚添加了这个页面 - 该功能自0.3.90以来一直存在,但只在History.txt文件中提到过。)