4

このチュートリアルに従って RoR を学習しようとしていますが、現在は第 3 章に進んでいます。ただし、チュートリアルで使用されるコマンドは、デフォルト テストの生成を抑制します。それらを保持し、プロジェクトで使用する可能性がある場合、常にどこかで壁にぶつかります。

私が間違っていることを教えてください。

$ rails new myproject
$ cd myproject/
$ echo "gem 'rspec'" >> Gemfile
$ echo "gem 'rspec-rails'" >> Gemfile
$ echo "gem 'capybara'" >> Gemfile
$ bundle install
$ bundle --binstubs
$ rails generate rspec:install
$ rails generate controller StaticPages home help about

次に、ファイルを編集して、spec/views/static_pages/home.html.erb_spec.rbカピバラが機能するかどうかをテストします。

require 'spec_helper'
#require 'capybara'
#require 'capybara/rails'
#require 'capybara/rspec'

describe "static_pages/home.html.erb" do
  it 'should have a right title' do
    visit '/static_pages/home'
    page.should have_selector('title', :text => 'Home')
  end
end

bin/rspecこの時点で実行すると、明らかに失敗に終わります。まあ、失敗は予想できた。ただし、これらの失敗の 1 つの理由は、より憂慮すべきものです。

  1) static_pages/home.html.erb should have a right title
     Failure/Error: visit '/static_pages/home'
     NoMethodError:
       undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_5:0x00000003dfd268>
     # ./spec/views/static_pages/home.html.erb_spec.rb:7:in `block (2 levels) in <top (required)>'

私のvisit知る限り、カピバラの一部であるメソッドは見つかりませんでした。3 つの余分な require のコメントを外してhome.html.erb_spec.rbも、結果は何も変わりません。

私が間違っていることはありますか?または、どうすればよいですか?

レールのバージョン: 3.2.6

4

1 に答える 1

3

テストを。requestsではなくディレクトリに配置しviewsます。

于 2012-07-08T09:32:15.277 に答える