【问题标题】:Detecting an infinite redirect in rails tests在 Rails 测试中检测无限重定向
【发布时间】:2011-02-02 00:35:55
【问题描述】:
在我的 Ruby on Rails 集成测试中,我有
assert_redirected_to buyer_deals_path(buyer)
这通过了。然而,实际上它重定向到该页面,然后以无限重定向再次重定向。有没有办法检测到这一点?或者更简单地说,检测它重定向到该页面并停留在那里(没有重定向到其他任何地方)?
【问题讨论】:
标签:
ruby-on-rails
testing
integration-testing
【解决方案1】:
如果您在集成测试中执行此操作(我假设您是,从标签),实际上非常简单:
get "/whatever/caused/the/redirect"
assert_redirected_to buyer_deals_path(buyer)
follow_redirect!
assert_response 200
我认为follow_redirect! 仅在集成测试中可用,所以如果您尝试在功能测试中执行此操作,则必须找到其他内容。