1

レールを使用しています。次のコマンドを使用して ruby​​ スクリプトを実行します。そして、それはエラーを出します。何が問題だろう? 「page.should have_content('Demo App')」を削除すると、正常に動作します!

 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
4

1 に答える 1

3

私はこの問題を解決しました。webrat と capybara の両方を使用すると、適切な結果が表示されません。そのため、Gemfile からgem 'webrat'を削除してbundle updateと入力し、次のコマンドを使用して問題を解決する必要があります。

bundle exec rspec spec/requests/test_pages_spec.rb
于 2012-04-22T08:52:47.383 に答える