Rspec: уровень стека слишком глубокий независимо от теста - PullRequest
2 голосов
/ 27 марта 2012

Я пытаюсь создать набор тестов, используя Rspec, и у меня всегда появляется сообщение об ошибке «Уровень стека слишком глубокий», независимо от теста, который я пытаюсь запустить.

Я использую Rails 3.0.5 и Rspec 2.0.1

Чтобы сделать это очень просто, я только что сделал простой тест:

it "should show home page" do
  visit root_path
  response.should be_success
end

Тестирование ТОЛЬКО этого тестового файла с использованием:

rspec ./spec/requests/simple_test.rb

выдает ошибку «Уровень стека слишком глубокий».

Корневой путь пока что является простой домашней страницей с надписью «это домашняя страница», и он отлично работает в браузере. Кроме того, файл test.log показывает, что запрос был обработан и дал ответ 200 OK ... тест все равно не пройден "посещение root_path: уровень стека слишком глубокий ...

Кто-нибудь знает, что происходит? Я искал в Интернете и нашел много ответов, для которых была бесконечная рекурсия, но здесь ??? ...

Последняя точность: несколько месяцев назад у меня не было этой проблемы ... с тех пор я установил devise (версия 1.5.3) ... но здесь я не обращаюсь ни к devise, ни к пользователю контроллеры, так что может вызвать такое поведение?

Большое спасибо заранее за любую подсказку ... Я не знаю, как решить или отладить это.

1 Ответ

2 голосов
/ 28 марта 2012

Проблема заключается в ошибке в webrat:

Webrat 0.7.3 или 0.7.2 вызывает ошибку «Уровень стека слишком глубокий» при использовании с Rspec 2.0.1.

Понижение до webrat 0.7.1 решило проблему

Больше объяснений там: http://www.backdrifter.com/2010/11/07/stack-level-too-deep-with-rspec-2-and-webrat/

...