Rspec测试现在失败了 - 坚持第5章--Hartl的Ruby on Rails教程

时间:2013-05-28 03:29:26

标签: ruby-on-rails-3 rspec

我正在慢慢地通过Michael Hartl的优秀Ruby on Rails教程。 一切都很顺利......直到第5章的练习。现在我很困惑。 在实际练习部分中进行了详细的更改后,我的RSpec测试现在失败了。

  • 请注意,我正在运行SPORK(但是当我不使用SPORK时,测试也会失败)。

以下是我从每个测试的静态页面获得的输出示例:

  

静态页面主页应该像所有静态页面一样       失败/错误:它{should have_selector('title',text:full_title(page_title))}       类型错误:         无法将RSpec :: Matchers :: BuiltIn :: Include转换为String       共享示例组:从./spec/requests/static_pages_spec.rb:19调用的“所有静态页面”       #(eval):2:在'{/ p>中的has_selector?' # ./spec/requests/static_pages_spec.rb:9:in块(3级)中

这是static_pages_spec.rb:

require 'spec_helper'

describe "Static pages" do

subject { page }

shared_examples_for "all static pages" do
   it { should have_selector('h1',    text: heading) }
   it { should have_selector('title', text: full_title(page_title)) }
end

describe "Home page" do
   before { visit root_path }

   before { visit root_path } 
   let(:heading)    { 'Sample App' }
   let(:page_title) { '' }

   it_should_behave_like "all static pages"
   it { should_not have_selector 'title', text: '| Home' }
end

describe "Help page" do
   before { visit root_path }
   before { visit root_path }
   let(:heading)    { 'Sample App' }
   let(:page_title) { '' }

   it_should_behave_like "all static pages"
   it { should_not have_selector 'title', text: '| Help' }
end

describe "About page" do

   before { visit root_path }
   let(:heading)    { 'Sample App' }
   let(:page_title) { '' }

   it_should_behave_like "all static pages"
   it { should_not have_selector 'title', text: '| About' }
end

describe "Contact page" do

   before { visit root_path }
   let(:heading)    { 'Sample App' }
   let(:page_title) { '' }

   it_should_behave_like "all static pages"
   it { should_not have_selector 'title', text: '| Contact' }

end

1 个答案:

答案 0 :(得分:1)

感谢那些善意帮助我的人。

最终我解决了 - 发现我在 utilities.rb

中意外遗漏了一些冗余代码

第5章末尾应该在该文件中的 行是:

include ApplicationHelper

巴扎