Rspec测试失败:静态页面关于页面的标题应为“关于我们”Hartl Ch。 3

时间:2012-09-30 04:01:58

标签: ruby-on-rails railstutorial.org

我正在研究Michael Hartl的Ruby on Rails教程,我正在进行第3章练习。有人可以解释为什么这个测试失败了吗?

我遇到了失败

rspec ./spec/requests/static_pages_spec.rb:39 # 
Static pages About page should have the title 'About Us'

控制器

  class StaticPagesController < ApplicationController
  def home
  end

  def help
  end

  def about
  end

  def Contact
  end
end

About.html.erb

<!DOCTYPE html>
<html>
<head>
<title>Ruby on Rails Tutorial Sample App | About Us</title>
</head>
<body>
<h1>About Us</h1>

Spec.rb

describe "About page" do

  it "should have the h1 'About Us'" do
    visit '/static_pages/about'
  page.should have_selector('h1', :text => 'About Us')
end
it "should have the title 'About Us'" do
  visit '/static_pages/about'
  page.should have_selector('title',
                :text => "Ruby on Rails Tutorial Sample App | About Us")
  end
end 

的routes.rb

SampleApp::Application.routes.draw do
  get "static_pages/home"

  get "static_pages/help"

  get "static_pages/about"

  get "static_pages/Contact"
end

2 个答案:

答案 0 :(得分:0)

尝试

page.should have_xpath("//title", :text => "About Us")

答案 1 :(得分:0)

如果您正在关注MHartl的教程并且您正在使用宝石'Capybara',我可以确认更改您的':text =&gt; ...'to':content =&gt; ......'将使你的测试通过。感谢@Kuo Jimmy