0

次のコマンドを実行する場合:

bundle exec rspec spec / requests / static_pages_spec.rb

次のエラーが発生します

 FF.......

    Failures:

      1) Static pages Home page should have the h1 'Sample App'
         Failure/Error: page.should have_selector('h1', text: 'Sample App')
           expected css "h1" with text "Sample App" to return something
         # ./spec/requests/static_pages_spec.rb:6:in `block (3 levels) in <top (required)>'

      2) Static pages Home page should have the base title
         Failure/Error: page.should have_selector('title',
           expected css "title" with text "Ruby on Rails Tutorial Sample App" to return something
         # ./spec/requests/static_pages_spec.rb:10:in `block (3 levels) in <top (required)>'

    Finished in 0.38131 seconds
    9 examples, 2 failures

    Failed examples:

    rspec ./spec/requests/static_pages_spec.rb:4 # Static pages Home page should have the h1 'Sample App'
    rspec ./spec/requests/static_pages_spec.rb:8 # Static pages Home page should have the base title

私のstatic_pages_spec.rbは次のようになります:

require 'spec_helper'
describe "Static pages" do
  describe "Home page" do
    it "should have the h1 'Sample App'" do
      visit root_path
      page.should have_selector('h1', text: 'Sample App')
    end
    it "should have the base title" do
      visit root_path
      page.should have_selector('title',
                        text: "Ruby on Rails Tutorial Sample App")
    end
    it "should not have a custom page title" do
      visit root_path
      page.should_not have_selector('title', text: '| Home')
    end
  end
describe "Help page" do
    it "should have the h1 'Help me'" do
        visit help_path
        page.should have_selector('h1', text: 'Help me')
    end
it "should have the title 'Help me'" do
  visit help_path
   page.should have_selector('title',
                text: "Ruby on Rails Tutorial Sample App | Help me")
end
end
describe "About page" do
  it "should have the h1 'About us'" do
    visit about_path
    page.should have_selector('h1', text: 'About us')
  end
it "should have the title 'About us'" do
  visit about_path
  page.should have_selector('title',
                text: "Ruby on Rails Tutorial Sample App | About us")
    end
  end

  describe "Contact page" do
  it "should have the h1 'Contact'" do
    visit contact_path
    page.should have_selector('h1', text: 'Contact')
  end

it "should have the title 'Contact'" do
  visit contact_path
  page.should have_selector('title',
                text: "Ruby on Rails Tutorial Sample App | Contact")
    end
  end
end

私のroutes.rb

   SampleApp::Application.routes.draw do
      root to: 'static_pages#home'

      match '/help', to: 'static_pages#help'
      match '/about', to: 'static_pages#about'
      match '/contact', to: 'static_pages#contact'
end

以前は9/9の失敗がありましたが、その後追加しました

config.include Rails.application.routes.url_helpers

spec / rspec_helper.rbに移動すると、上記の失敗が残ります。

4

1 に答える 1

0

public/index.htmlファイルを削除する必要があります。削除すると、コードは正常に実行されます。

何が起こっているかを確認する方法:

  1. gem "launchy"Gemfileに追加する
  2. バンドル
  3. save_and_open_pageroot_pathにアクセスした後に追加 します
于 2012-10-24T20:27:34.833 に答える