Webrat и Rails: Используя assert_contain после того, как click_button дает мне, “Вы перенаправляетесь”

Я пишу интеграционный тест на приложение направляющих с помощью webrat. После заполнения формы отправляют пользовательские нажатия, и учетная запись создается.

click_button "Submit"
assert_contain "Your Account Has Been Created"

Однако тестовые сбои:

expected the following element's content to include "Your Account Has Been Created":
You are being redirected.
<false> is not true.

Обычно для следования за перенаправлением я использовал бы post_via_redirect, но от просто рассмотрения примеров Webrat, click_button сопровождаемый assert_contain должен работать

Я только что начал использовать Webrat, таким образом, я пропускаю что-то очевидное здесь? Почему застревают я с ответом перенаправления?

Спасибо!

Deb

8
задан deb 4 June 2010 в 13:01
поделиться

2 ответа

В новом приложении Rails 3 у меня также возникла эта проблема при тестировании простого метода, который включал вызов redirect_to в контроллере. Сам метод работал нормально, но Webrat возвращал ответ "Вы перенаправлены.".

Добавление шага "Then show me the page" в cucumber (чтобы страница, которую видит webrat, открывалась в браузере) показало ответ "You are being redirected." со ссылкой на ссылку example.org.

На основе этого я обнаружил патч Яннимака ( http://groups.google.com/group/webrat/browse_thread/thread/fb5ff3fccd97f3df ):

#/lib/webrat/core/session.rb
#starting at line 288

def current_host
- URI.parse(current_url).host || @custom_headers["Host"] || "www.example.com"
+ URI.parse(current_url).host || @custom_headers["Host"] || default_current_host
end

+ def default_current_host
+   adapter.class==Webrat::RackAdapter ? "example.org" : "www.example.com"
+ end 

Внесение этих изменений устранило проблему, так что вызовы redirect_to с Webrat теперь работают правильно.

11
ответ дан 5 December 2019 в 12:07
поделиться

Есть ли у вас какая-либо аутентификация в ваших приложениях? Я предполагаю, что перенаправление происходит из-за того, что вы не прошли аутентификацию. Если мое предположение верно, напишите настройку для первого входа в систему с помощью Webrat.

0
ответ дан 5 December 2019 в 12:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: