2012-04-21 10 views
1

私はレールを使用しています。次のコマンドを使ってrubyスクリプトを実行します。そしてそれは誤りを与える。何が問題なの? 「page.should have_content( 'Demo App')」を削除すると、正常に動作します。未定義のローカル変数またはメソッド `page '

bundle exec rspec spec/requests/test_pages_spec.rb 

Failures: 

1) Test pages Home page should have the content 'Demo App' 
Failure/Error: page.should have_content('Demo App') 
NameError: 
    undefined local variable or method `page' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0xa60d538> 
# ./spec/requests/test_pages_spec.rb:9:in `block (3 levels) in <top (required)>' 

Finished in 0.27788 seconds 
1 example, 1 failure 

Failed examples: 

rspec ./spec/requests/test_pages_spec.rb:7 # Test pages Home page should have the content 'Demo App' 

test_pages_spec.rbは以下の通りである:私はこの問題を解決した

require 'spec_helper' 

describe "Test pages" do 

describe "Home page" do 

    it "should have the content 'Demo App'" do 
    visit '/test_pages/home' 
    page.should have_content('Demo App') 
    end 
end 
end 

答えて

3

。私がwebratとcapybaraの両方を使用すると、正しい結果が得られません。だから私はgem 'webrat'をGemfileから削除し、バンドルアップデートとタイプして、次のコマンドを使用して問題を解決しなければなりません!

bundle exec rspec spec/requests/test_pages_spec.rb 
関連する問題