Ошибка теста Rspec: статические страницы О странице должны иметь заголовок "о нас" Hartl Ch. Три


Я работаю над учебником Майкла Хартла 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

О.формат html.erb

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

Спец.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 

Маршруты.rb

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

  get "static_pages/help"

  get "static_pages/about"

  get "static_pages/Contact"
end
2 2

2 ответа:

Попробуйте

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

Если вы следуете учебнику MHartl и используете драгоценный камень 'Capybara', я могу подтвердить, что вы изменили свой': text => ...'to ': content => ...- сделаю так, что ваши тесты пройдут. Спасибо @Kuo Jimmy .