2012-09-04 49 views
2

我正在關注Michael Hartl的教程。我試過用Rspec測試應用程序的第一個測試示例,當我執行此命令「bundle exec rspec spec \ requests \ static_pages_spec.rb」我收到此錯誤。Ruby on Rails,Rspec測試時出錯

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 
+0

@ronalchn退房整個錯誤信息。 –

+0

請參閱[在我的規範中找不到的訪問方法](http://stackoverflow.com/questions/8862967/visit-method-not-found-in-my-rspec)。 –

+0

問題不在於頁面的內容。 「訪問」不被認可。 @Dave - 爲了參觀工作,您需要安裝水豚。不知道爲什麼還在發生 – premprakash

回答

4

您需要require 'spec_helper'在規範源。

您的spec_helper應該包含rspec/railscapybara/rails

但是,如果您想訪問響應,您將需要使用get而不是visit

+0

哇!得到它的工作。 @Dave:非常感謝。完全是上述事情,它的工作。 Ť – premprakash

1

如果static_pages_spec.rb有串require 'spec_helper',你會得到

Failure/Error: visit '/static_pages/home'

  • 添加到spec_helper.rbconfig.include Capybara::DSL

它幫助我