Rspec NoMethodError: undefined method `visit'

Hi,

I’ve just started the second app of the tdd workshop and I’m getting an unexpected rspec failure

Failures:

  1) View the homepage learn about the application
     Failure/Error: visit root_path
     NoMethodError:
       undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fc5e99c6a10>

Integration spec view_homepage_spec.rb

require 'spec_helper'

feature 'View the homepage' do
    scenario 'learn about the application' do
        visit root_path
        expect(page).to have_css 'title', text: 'Hashtag'
        expect(page).to have_css '[data-role= "description"]'
    end
end

Here’s what’s in routes.rb

Hashtag::Application.routes.draw do
root to: 'high_voltage/pages#show', id: 'homepage'
end

And I have the highvoltage gem in the gemfile. I’ve also created app/views/pages/homepage.html.erb

Any help? Thanks

Hi,

Which version of Capybara are you using? If you aren’t explicitly setting it gem 'capybara', '1.1.4' in your Gemfile, you have to save your integration tests to spec/features/.

Also, make sure you delete public/index.html as well. That has tripped me one a few times while writing tests that involve the root path

5 Likes

Thank you! Set capybara to version 1.1.4 and it works.

Sure, glad to help :slight_smile:

Thanks pedromoreira,

I had the same issue as grantspilsbury,

locking Capybara to 1.1.4 solved the issue.

greetings,

Anthony

Glad you got it working :slight_smile: