ruby-on-rails:機能テストでルートをモックする
-
07-07-2019 - |
質問
routes.rbファイルにルートがあります:
map.connect 'login', :controller => 'users', :action => 'login'
そして、ビューに部分的にレンダリングされるものがあります:
login_path
このビューは、コントローラーの機能テストで呼び出されます。
ただし、機能テストではエラーが発生します:
ActionView::TemplateError: undefined local variable or method `login_path' for #<ActionView::Base:0x4762c90>
1)テストのためにそれをm笑する最良の方法は何ですか?
2)これは設計上の欠陥を示していますか?
解決
map.connect
は、名前のないルートを追加します。 routes.rb
におそらく必要なものは次のとおりです。
map.login 'login', :controller => 'users', :action => 'login'
これにより、名前付きルート login_path
および login_url
が自動的に作成されます。
所属していません StackOverflow