2

Michael Hartl のチュートリアルに従っています。Rspec を使用してアプリをテストするための最初のテスト例を試しましたが、このコマンド「bundle exec rspec spec\requests\static_pages_spec.rb」を実行すると、このエラーが発生します。

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
4

2 に答える 2

4

require 'spec_helper'仕様ソースで行う必要があります。

spec_helperと の両方rspec/railsを含める必要がありcapybara/railsます。

ただし、応答にアクセスしたい場合はget代わりに使用したいと思うでしょう。visit

于 2012-09-04T00:44:43.170 に答える
1

static_pages_spec.rbに文字列がrequire 'spec_helper'あり、取得した場合

失敗/エラー: 「/static_pages/home」にアクセスしてください

  • spec_helper.rb文字列に追加config.include Capybara::DSL

それは私を助けました

于 2014-02-12T17:28:29.913 に答える