Rails中rspec测试xxx_path调用失败的解决

时间:2023-03-10 02:18:07
Rails中rspec测试xxx_path调用失败的解决

首先要想生成类似于home_path,about_path之类的方法,必须在路由文件中添加对应方法:

    match '/help',to:"static_pages#help",via:'get'
    get '/about',to:'static_pages#about'
    get '/contact',to:'static_pages#contact'

用match和get都可以,但是实际在rspec测试中你会发现还是报找不到路径:

Failure/Error: visit contact_path
     NameError:
       undefined local variable or method `contact_path' for #<RSpec::ExampleGroups::StaticPages::ContactPage:0x007fbcfb35ff60>

这是因为你需要手动指明你的rspec需要app生成的路由表方法,打开spec/spec_helper.rb文件,添加以下一行:

config.include Rails.application.routes.url_helpers

然后再进行rspec测试,你会发现一切都清净了 ;)