premprakash
premprakash

Reputation: 1595

Ruby on Rails , Rspec Error while testing

I am following the tutorial from Michael Hartl . I tried the first test example for testing the app with Rspec and when I execute this command "bundle exec rspec spec\requests\static_pages_spec.rb" I get this error.

F

Failures:

  1) Home page should have the content 'Sample App'
     Failure/Error: visit '/static_pages/home'
     NoMethodError:
       undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x39e1510 @example=nil>
     # ./spec/requests/static_pages_spec.rb:4:in `block (2 levels) in <top (required)>'

Finished in 0.001 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/requests/static_pages_spec.rb:3 # Home page should have the content 'Sample App'

static_pages_spec.rb

describe "Home page" do
  it "should have the content 'Sample App'" do
    visit '/static_pages/home'
    page.should have_content('Sample App')
 end
end

Gemfile.rb

source 'https://rubygems.org'

gem 'rails', '3.2.1'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.10.0'
end

group :assets do
  gem 'sass-rails', '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails'

group :test do
  gem 'capybara', '1.1.2'
end

group :production do
  gem 'pg', '0.12.2'
end

Upvotes: 2

Views: 1455

Answers (2)

DmitrySharikov
DmitrySharikov

Reputation: 69

If static_pages_spec.rb has string require 'spec_helper' and you get

Failure/Error: visit '/static_pages/home'

  • add to spec_helper.rb string config.include Capybara::DSL

it helped me

Upvotes: 1

Dave Newton
Dave Newton

Reputation: 160170

You need to require 'spec_helper' in your spec source.

Your spec_helper should include both rspec/rails and capybara/rails in it.

You'll want to use get instead of visit if you want to access the response, however.

Upvotes: 4

Related Questions