我刚刚将我的Rails版本从 4.2.6 升级到 5.0.0.rc1 并使用RSpec版本 3.5.0.beta4
问题是;我有一个方法在我的帮助器中调用root_path
并且路径没有在辅助规范中定义。版本升级后问题就开始了。
当我运行帮助程序规范时,我收到以下错误;
NoMethodError:
undefined method `root_path' for #<#<Class:0x00000002749080>:0x00000011f3e650>
我试图将以下行添加到我的助手;
include Rails.application.routes.url_helpers
但现在错误如下;
NameError:
undefined local variable or method `default_url_options' for #<#<Class:0x00000001efa550>:0x0000001784ccd8>
如何为helper specs或default_url_options定义路径助手?
答案 0 :(得分:0)
这似乎可能是RSpec的一个错误,您可以在帮助程序规范中做的一件事就是自己添加必要的方法。
describe MyHelper do
context "doing something" do
helper do
include Rails.application.routes.url_helpers
def default_url_options
{}
end
end
it "should work" do
expect(helper.run_it).to be_truthy
end
end