如何在rspec中测试redirect_to :back
?
我得到了
ActionController::RedirectBackError
:
在对此操作的请求中未设置HTTP_REFERER
,因此无法成功调用redirect_to :back
。如果这是测试,请确保指定request.env["HTTP_REFERER"]
。
如何在测试中设置HTTP_REFERER
?
发布于 2017-07-20 14:32:22
如果有人偶然发现了这一点,并且他们正在使用request
规范,那么您将需要显式地设置您正在发出的请求的头部。测试请求的格式取决于您使用的RSpec版本,以及您是否可以使用关键字参数而不是位置参数。
let(:headers){ { "HTTP_REFERER" => "/widgets" } }
it "redirects back to widgets" do
post "/widgets", params: {}, headers: headers # keyword (better)
post "/widgets", {}, headers # positional
expect(response).to redirect_to(widgets_path)
end
https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec
https://stackoverflow.com/questions/6040479
复制相似问题