Ruby on rails 制作RoR教程时出现RSpec错误

Ruby on rails 制作RoR教程时出现RSpec错误,ruby-on-rails,specifications,Ruby On Rails,Specifications,我在测试RoR教程中的代码时出错,请帮助解决这些问题,清单如下。可能是Gemfile中规范的错误版本 失败: 1) PagesController GET 'home' should have the right title Failure/Error: response.should have_selector("title", :content => "Home") NoMethodError: undefined method `has_sele

我在测试RoR教程中的代码时出错,请帮助解决这些问题,清单如下。可能是Gemfile中规范的错误版本

失败:

  1) PagesController GET 'home' should have the right title
     Failure/Error: response.should have_selector("title", :content => "Home")
     NoMethodError:
       undefined method `has_selector?' for #<ActionController::TestResponse:0x007fb3d4d2d108>
     # ./spec/controllers/pages_controller_spec.rb:14:in `block (3 levels) in <top (required)>'

  2) PagesController GET 'contact' should have the right title
     Failure/Error: response.should have_selector("title", :content => "Contact")
     NoMethodError:
       undefined method `has_selector?' for #<ActionController::TestResponse:0x007fb3d280b370>
     # ./spec/controllers/pages_controller_spec.rb:26:in `block (3 levels) in <top (required)>'

  3) PagesController GET 'about' should have the right title
     Failure/Error: response.should have_selector("title", :content => "About")
     NoMethodError:
       undefined method `has_selector?' for #<ActionController::TestResponse:0x007fb3d2b96e90>
     # ./spec/controllers/pages_controller_spec.rb:38:in `block (3 levels) in <top (required)>'

  4) PagesController GET 'help' should have the right title
     Failure/Error: response.should have_selector("title", :content => "Help")
     NoMethodError:
       undefined method `has_selector?' for #<ActionController::TestResponse:0x007fb3d28a19d8>
     # ./spec/controllers/pages_controller_spec.rb:50:in `block (3 levels) in <top (required)>'

Finished in 0.1005 seconds
8 examples, 4 failures

Failed examples:

rspec ./spec/controllers/pages_controller_spec.rb:12 # PagesController GET 'home' should have the right title
rspec ./spec/controllers/pages_controller_spec.rb:24 # PagesController GET 'contact' should have the right title
rspec ./spec/controllers/pages_controller_spec.rb:36 # PagesController GET 'about' should have the right title
rspec ./spec/controllers/pages_controller_spec.rb:48 # PagesController GET 'help' should have the right title
页面\u控制器\u spec.rb列表:

require 'spec_helper'

describe PagesController do
  render_views

  describe "GET 'home'" do
    it "should be successful" do
      get 'home'
      response.should be_success
    end

    it "should have the right title" do
      get 'home'
      response.should have_selector("title", :content => "Home")
    end
  end

  describe "GET 'contact'" do
    it "should be successful" do
      get 'contact'
      response.should be_success
    end

    it "should have the right title" do
      get 'contact'
      response.should have_selector("title", :content => "Contact")
    end
  end

  describe "GET 'about'" do
    it "should be successful" do
      get 'about'
      response.should be_success
    end

    it "should have the right title" do
      get 'about'
      response.should have_selector("title", :content => "About")
    end
  end

  describe "GET 'help'" do
    it "should be successful" do
      get 'help'
      response.should be_success
    end

    it "should have the right title" do
      get 'help'
      response.should have_selector("title", :content => "Help")
    end
  end
end

我不明白怎么回事。

如果你不想使用webrat,你可以使用

response.body.should include 'Contact</h1>'

我同意,这有点不干净。

如果您不想使用webrat,您可以使用

response.body.should include 'Contact</h1>'

我同意,这有点不干净。

重新编辑您的文件并键入

gem 'webrat'
然后

类型


重新编辑您的文件并键入

gem 'webrat'
然后

类型


这是一个webrat方法。看看这个:这是一个webrat方法。看看这个:
bundle install