如何测试发布请求并跟随capybara重定向?

时间:2012-09-24 16:32:02

标签: ruby-on-rails cucumber rake capybara

我正在尝试用水豚和黄瓜测试一个帖子请求。我无法访问页面并按下链接发送请求,因为它有一个确认对话框,我没有使用javascript工作,所以我试图使用post方法,然后测试它是否重定向到适当的网址但我得到了:

No response yet. Request a page first. (Rack::Test::Error)

我的代码是:

page.driver.post url
page.driver.status_code.should be 302
follow_redirect!

直到follow_redirect!才能正常工作。我已经尝试了page.driver.follow_redirects!,但它也无效。

任何帮助?

2 个答案:

答案 0 :(得分:6)

Capybara::Rails::TestCase.class_eval do
  def post(url)
    page.driver.post url
    visit page.driver.response.location
  end
end

答案 1 :(得分:1)

我建议您使用以下方法解除确认对话:

https://stackoverflow.com/a/2609244/560123

这样你就不会自己关心发帖了,而是相信你的应用程序代码来做帖子请求。

此致