I have a Rails 4 application with Rspec 2. I’m using a mix of should and expect assertions. I wanted to upgrade to Rspec 3 without changing the specs for now. I updated the Gemfile, run bundle install, rake spec and got many errors. Basically most helpers went missing (undefined methods visit, sign_in, root_path, etc., plus anything defined inside app/helpers). Googling around I found a solution for everything but the keys to restore the old behaviour are two.
1) The new rspec doesn’t include helpers based on the directory the specs are stored into. You either define the spec type with stuff like type: :feature or type: :controller or you add
to the Rspec.config block.
2) The should syntax has been deprecated and doesn’t work any more by default. You must enable it with
config.expect_with :rspec do |c|
c.syntax = [:should, :expect]
- You must remove require ‘rspec/autorun’
- example doesn’t exist anymore. It has been replaced by RSpec.current_example