Rails4にバージョンアップしてRSpecでハマったこと

Pocket

Rails4にバージョンアップしようとして、RSpecが通らなくなって午前中ずっとハマっていました。。

問題

こんなControllerのクラスがあるとして、

こんなスペックがあるとき、

admin/users_controller_spec.rbを実行したときに以下のように怒られてしまう。

ActionController::UrlGenerationError: No route matches

Admin::UsersController#indexはcontroller: 'admin/users'を参照しなければいけないはずなのに、controller: 'users'を参照してしまい、エラーになってしまう。

解決方法

一時的な解決策でないような気がするけど、それぞれのコントローラスペックでそれぞれのコントローラクラスをrequireすることで症状が改善する。

釈然としないけど。。

参考