хорошо, вот сделка.Переходя к учебнику по Rails.Мы используем среду тестирования, чтобы убедиться, что то, что мы хотим видеть на наших страницах, делает это.Делаем это с помощью файла pages_controller_spec.rb.И это один из трех аргументов, которые мы передали:
describe "GET 'home'" do
it "returns http success" do
get 'home'
response.should be_success
end
it "should have the right title" do
get 'home'
response.should has_selector("title",
:content => "Ruby on Rails Tutorial Sample App | Home")
end
Все три теста одинаковы.Когда я запускаю rspec spec / из командной строки (я использую Windows Vista), я получаю эту ошибку во всех трех тестах:
1) PagesController GET 'home' должен иметь правильный заголовок ← [31mFailure / Error: ← [0m ← [31mresponse.should have_selector ("title", ← [0m ← [31mNoMethodError: ← [0m ← [31mundefined method has_selector?' for #<ActionController::TestResponse:0x4d71bd8>←[0m
←[36m # ./spec/controllers/pages_controller_spec.rb:13:in
блок (3 уровня) в '← [0m
как вы)видите, я не использую что-либо с именем has_selector, но has_selector. Откуда это? Кто-нибудь знает, как это исправить? Я неоднократно проверял код в течение 2 дней, чтобы убедиться, что мой пример соответствует видео ичто текст, проверяемый rspec, идентичен на реальных веб-страницах. Я имею в виду, черт возьми, страницы даже правильно отображаются после запуска сервера. Так что я совершенно не догадываюсь. Ближайший ответ пришел на другойФорум, на котором кто-то упомянул, что он забыл включить 'render_views' в верхнюю часть после первого 'description'. Дважды проверил это, и я получил его там, где это необходимо.o be. печальный программист
(правка) После разговора с кем-то еще они сказали, что похоже, что метод не был загружен ruby.Это имеет смысл для меня, учитывая строку в выводе о "метод не определен"