[RSpec] 「views/application」ディレクトリの部分テンプレートが読み込めない → 解決

RSpecによるテストコード実行時に、「views/application」ディレクトリの中にある部分テンプレートが読み込めないという現象が発生しました。
当方の環境は、rails 3.2.1, rspec 2.10.0, rspec-rails 2.10.1。

Webブラウザからアプリケーションにアクセスしたときはきちんと読み込まれるのに、テストコードを実行した時だけ読み込まれない。

おかしいなぁと思い調べてみると、どうやら「views/application」ディレクトリが部分テンプレートの検索パスに含まれていない模様。

RSpecのテストコードに以下のようなコードを挿入し、明示的に「views/application」ディレクトリを検索パスに含めるようにしたところ、正しく読み込まれるようになりました。

before do
  view.lookup_context.prefixes << 'application'
end

「views/application」ディレクトリはApplicationControllerに関係するビューを格納するディレクトリ。

今回、ApplicationControllerの子クラスに関係するビューのテストを実行したのですが、
通常の実行時なら親クラスの部分テンプレートも検索してくれるのに、RSpecのテスト実行時には検索してくれないんですね。

次回からは気をつけます。この情報が誰かのお役に立てば!
それでは!