RSpec で Integration Test (Capybara) を書いて動かしたところ,エラーで落ちた.
説明できるレベルまで原因わかってないけど,解決することはできたので,メモ程度にまとめておく.
ActionController::RoutingError: assets
エラーを見る限り,assets
のルーティング関連のように見える.
確かに今回遷移しようとしてる画面には image_tag
で画像を描画してるところがあって,その画像の URL は DB に持ってるので,Rails の assets
で管理してるわけではなく,この辺りの問題なのかも?なんて考えたりしたけどよくわからず.
ググった
結論から言うと,config/environments/test.rb
にある以下の定義を true
に変えたらテストが通るようになった.
true
に変えることによって,例外がアプリケーションまで届くってことのようだけど,はて.
# Raise exceptions instead of rendering exception templates config.action_dispatch.show_exceptions = true
- ruby on rails 3 - ActionController::RoutingError when js => true - Stack Overflow
- ruby on rails - Capybara: exception trace in log - Stack Overflow
- さんがつにじゅうににち: kosenconf-080tokyo - diary.sorah
まとめ
原因わかったら追記する!
参考情報
よくわかってないのに使おうすると,僕の師匠の @nysalor に「カーゴ・カルト・プログラミングだ!」って言われてしまうw