黄瓜1.1.4 - 我应该如何定义NavigationHelpers模块?

时间:2012-01-20 18:31:24

标签: ruby-on-rails cucumber

我正在阅读Rails 3 In Action一书,他们介绍了一些带有Cucumber的BDD。我注意到web_steps.rb文件已被删除Modern Cucumber and Rails。我添加了自己的网络步骤正则表达式,这是按预期工作。但是,似乎文件paths.rb也已删除。它曾经包含module NavigationHelpers,您可以在其中包含以下代码:

def path_to(page_name)  
    case page_name  
    when /the homepage/  
      root_path  
    when /the list of articles/  
      articles_path  
    else  
      raise "Can't find mapping from \"#{page_name}\" to a path."  
    end  
  end 

然后你可以做以下事情:

Given /^(?:|I )am on (.+)$/ do |page_name|
  visit path_to(page_name)
end

在您的步骤中。

我尝试在paths.rb下使用该模块添加名为features/support的文件,但我一直收到未定义的path_to方法错误。所以我的问题是:

你如何在Cucumber 1.1.4中处理这个问题?定义这种方法/模块的适当方法是什么?

1 个答案:

答案 0 :(得分:3)

确保你有

World(NavigationHelpers)

位于文件底部。它将使模块方法在所有步骤定义中可用。