Railstutorial.org - тестирование интеграции на веб-сайте root_path - PullRequest
1 голос
/ 26 декабря 2010

Я работаю над учебником по rails на railstutorial.org.

В частности, видео.

После неудачного старта с различными версиями гемов - все работало хорошо. Пока я не попал в раздел «тест интеграции». (ПРИМЕЧАНИЕ. Раздел 5.5 / список 5.33 в веб-руководстве)

Как указано в видео, я добавил это к layout_links_spec.rb

it "should have the right links on the layout" do 
   visit root_path
   response.should have_selector('title', :content => "Home")
end

Когда я запускаю 'rspec spec /' - я получаю эту ошибку

Failure/Error: response.should have_selector('title', :content => 'Home') 
expected following output to contain a <title>Home</title> tag: 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"

Перед добавлением этой последней спецификации - все мои тесты rspec работали - иначе я был "зеленым".

Мой текущий Gemfile содержит

group :development do
  gem 'rspec-rails', '2.3.0'
end

group :test do
  gem 'rspec', '2.3.0'
  gem 'webrat', '0.7.1'
  gem 'spork', '0.8.4'
end

В соответствии с рекомендациями сайта Railstutorial -> http://railstutorial.org/chapters/updating-showing-and-deleting-users#code:final_gemfile

Любая помощь будет чрезвычайно признательна. Я действительно хочу принять BDD / TDD, но эти «проблемы» с самоцветами действительно расстраивают.

Спасибо Dave

1 Ответ

1 голос
/ 12 января 2011

Все, что вам нужно сделать, это добавить строку в верхней части вашей спецификации для визуализации представлений (в противном случае у RSpec не будет полного ответа html для работы).

require 'spec_helper'

describe PagesController do
  render_views                    # <--- This is the line you need to add!

  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 => "Ruby on Rails Tutorial Sample App | Home")
    end
  end
end

Вот где Майкл Хартл представляет эту идею в учебном пособии по Ruby on Rails:

http://railstutorial.org/chapters/static-pages#code:pages_controller_spec_title

"Обратите внимание, что строка render_views ... необходима для работы тестов титров."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...