我正在慢慢地通过Michael Hartl的优秀Ruby on Rails教程。 一切都很顺利......直到第5章的练习。现在我很困惑。 在实际练习部分中进行了详细的更改后,我的RSpec测试现在失败了。
以下是我从每个测试的静态页面获得的输出示例:
静态页面主页应该像所有静态页面一样 失败/错误:它{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
答案 0 :(得分:1)
感谢那些善意帮助我的人。
最终我解决了 - 发现我在 utilities.rb
中意外遗漏了一些冗余代码第5章末尾应该在该文件中的 行是:
include ApplicationHelper
巴扎