ActionController::TestResponse не отвечает на метод has_selector?
Я следую за более старой версией (для Rails 3) скринкастов Майкла Хартла. Тем не менее, я использую Ruby 2 с Rails 4 (rspec-rails
3.0.1), интерполируя между уроками и практикой через поиски Google.
Я застрял с возможно неправильным соответствием. Вот моя неудачная спецификация:
RSpec.describe PagesController do
render_views
it "has the correct page title" do
get 'home'
expect(response).to have_selector('title')
end
end
end
Вот сообщение об ошибке:
Failures:
1) PagesController GET 'home' has the correct page title
Failure/Error: expect(response).to have_selector('title')
expected #<ActionController::TestResponse:0x9e1202c> to respond to `has_selector?`
# ./spec/controllers/pages_controller_spec.rb:13:in `block (3 levels) in <top (required)>'
# -e:1:in `<main>'
Похоже, что нет такого сопоставителя, как have_selector в rspec-rails3
, Я посмотрел его на странице Github, там, кажется, нет упоминания об этом сопоставителе.
Gemfile
:
source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.0'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder'
group :doc do
gem 'sdoc', require: false
end
group :development do
gem 'spring-commands-rspec'
end
group :development, :test do
gem 'rspec'
gem 'rspec-rails'
end
1 ответ
Решение
have_selector
подборщик предоставлен Capybara. Добавьте это в свой Gemfile.