Ошибка неопределенного метода ‘has_content?’ с rspec / capybara / rails3

#ruby-on-rails-3 #rspec2 #capybara

#ruby-on-rails-3 #rspec2 #capybara

Вопрос:

Я получаю ошибку неопределенного метода ‘has_content?’ в файле rspec controller_spec.

Я нашел поток с похожими проблемами, хотя в этом потоке говорилось, что проблема была исправлена в rspec2.0beta (это был довольно старый поток), но я получаю это с более поздней версией. Некоторые потоки в rspec показывают, что capybara не работает в спецификациях view, но я работаю в спецификациях контроллера, так что это не должно быть проблемой…

Информация о моем Gemfile выглядит следующим образом:

 rspec-rails  dependecies 2.6.0.rc6
capybara 0.4.1.2
rails 3.0.7
  

Я пытаюсь выполнить простое утверждение, подобное

 response.body.should have_content("Project A")
  

Спасибо за ответ,
Тони

Ответ №1:

Capybara включен только в спецификации запроса Rspec по умолчанию. Измените этот файл на спецификацию запроса (поместите его в каталог спецификаций запроса, измените его название …)

Прочитайте раздел capybara Readme «Использование Capybara с RSpec»

https://github.com/jnicklas/capybara

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