RSpec2から3にアップデートした方のハマりポイントはすでに他の方が良質な記事にまとめてくださっているので触れません。僕はすでに RSpec2 → RSpec3 へのアップデートは経験済みなので、そこでのハマりポイントはこの記事では出てきません。ここでは、主に RSpec2 → RSpec3 のアップデートを経験していてもなお出くわした、プロジェクトで初めて導入した RSpec が RSpec3 だったときにハマったポイントを書きます(ニッチ!)。
なぞのエラーでテストむっちゃ落ちる
絶対メソッドあるのに NoMethodError
とか出るようになりました。デフォルトで spec_helper.rb
が spec_helper.rb
と rails_helper.rb
に分割されていたようです。これからは Rails 特有の設定は rails_helper.rb
が担当するようです。これまで
require 'spec_helper'
と書いていたところを
require 'rails_helper'
とすると動きました。
警告がむっちゃ出る
下記のような警告がむっちゃ出るようになりました。
/path/to/project/vendor/bundle/ruby/2.1.0/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized
デフォルトで作られる .rspec
に
--warning
がついているようなので、これを外すと快適に動くようになりました。
RSpec を起動するまでに時間を使ってしまった……。