0

我正在编写 Ruby on Rails 教程(第 5 章),但出现错误。我的代码在....

https://github.com/Hjack/sample_app_new

我收到以下错误...

hakimus-MacBook-Air:sample_app_new hakimujackson$ bundle exec rspec spec/requests/static_pages_spec.rb
Rack::File headers parameter replaces cache_control after Rack 1.5.
...FFFFFF

Failures:

  1) Help page
     Failure/Error: it { should have_selector('h1',   text: 'Help')}
       expected css "h1" with text "Help" to return something
     # ./spec/requests/static_pages_spec.rb:20:in `block (2 levels) in <top (required)>'

  2) Help page
     Failure/Error: it { should have_selector('title', text: full_title('Help'))}
       expected css "title" with text "Ruby on Rails Tutorial Sample App | Help" to return something
     # ./spec/requests/static_pages_spec.rb:21:in `block (2 levels) in <top (required)>'

  3) About page
     Failure/Error: it { should have_selector('h1',  text: 'About')}
       expected css "h1" with text "About" to return something
     # ./spec/requests/static_pages_spec.rb:28:in `block (2 levels) in <top (required)>'

  4) About page
     Failure/Error: it { should have_selector('title', text: full_title('About Us'))}
       expected css "title" with text "Ruby on Rails Tutorial Sample App | About Us" to return something
     # ./spec/requests/static_pages_spec.rb:29:in `block (2 levels) in <top (required)>'

  5) Contact page
     Failure/Error: it { should have_selector('h1',   text: 'Contact')}
       expected css "h1" with text "Contact" to return something
     # ./spec/requests/static_pages_spec.rb:36:in `block (2 levels) in <top (required)>'

  6) Contact page
     Failure/Error: it { should have_selector('title',  text: full_title('Contact'))}
       expected css "title" with text "Ruby on Rails Tutorial Sample App | Contact" to return something
     # ./spec/requests/static_pages_spec.rb:37:in `block (2 levels) in <top (required)>'

Finished in 0.21916 seconds
9 examples, 6 failures

Failed examples:

rspec ./spec/requests/static_pages_spec.rb:20 # Help page
rspec ./spec/requests/static_pages_spec.rb:21 # Help page
rspec ./spec/requests/static_pages_spec.rb:28 # About page
rspec ./spec/requests/static_pages_spec.rb:29 # About page
rspec ./spec/requests/static_pages_spec.rb:36 # Contact page
rspec ./spec/requests/static_pages_spec.rb:37 # Contact page

这是我的 spec.rb 文件...

require 'spec_helper'

describe "StaticPages" do

    subject { page }

  describe "Home page" do

    before { visit root_path }

    it { should have_selector('h1',  text: 'Sample App')}
    it { should have_selector('title', text: full_title(''))}
    it { should_not have_selector 'title', text: '| Home'}
    end
  end

  describe "Help page" do
    before { visit help_path }

    it { should have_selector('h1',   text: 'Help')}
    it { should have_selector('title', text: full_title('Help'))}
    end


  describe "About page" do
    before { visit about_path }

    it { should have_selector('h1',  text: 'About')}
    it { should have_selector('title', text: full_title('About Us'))}
    end


  describe "Contact page" do
    before { visit contact_path}

    it { should have_selector('h1',   text: 'Contact')}
    it { should have_selector('title',  text: full_title('Contact'))}
    end

我不确定我做错了什么。我会很感激任何帮助。

谢谢!!!

4

1 回答 1

2

问题出在你的规范文件中——

describe "StaticPages" do

subject { page }

  describe "Home page" do

    before { visit root_path }

    it { should have_selector('h1',  text: 'Sample App')}
    it { should have_selector('title', text: full_title(''))}
    it { should_not have_selector 'title', text: '| Home'}
  end
end

您过早结束 rspec 上下文 - 将最后一个“结束”移动到规范的底部,您的测试应该全部通过。

干杯!

于 2013-07-08T20:34:03.593 回答