背景
Ruby on Rails チュートリアルを参考に、Rails 4.2.0とRSpec 3.1.7でWebアプリケーションの作成を行っている際、チュートリアルとのバージョンの違い(チュートリアルはRSpec2)により、spec/supportディレクトリ内のファイルが読み込まれない問題が発生しました。
問題
Rails Tutorial 5.3.4では、spec/support/utilities.rbにRSpecのテストで共通で使用したいメソッドを記述すればよいと、以下の通り書かれております。
spec/supportディレクトリはRSpecによって自動的に読み込まれる
しかし、RSpec3では、単純にspec/support/にファイルを追加しても、読み込んでくれませんでした。どうやら原因は、spec/rails_helper.rbがデフォルトではspec/support/を自動的に読み込まない設定になっていたのが原因なようです。
解決
下記のコードが自動でspec/support/を読み込む設定なのですが、デフォルトではコメントアウトされていました。こいつのコメントアウトを外してやります。すると、うまくいきました。
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }