我正在阅读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中处理这个问题?定义这种方法/模块的适当方法是什么?
答案 0 :(得分:3)
确保你有
World(NavigationHelpers)
位于文件底部。它将使模块方法在所有步骤定义中可用。