如何在Rails 5中设置request.referer(ActionDispatch :: IntegrationTest)

时间:2017-08-26 09:29:30

标签: ruby-on-rails

我正在使用Rails 5,默认测试引擎(ActionDispatch :: IntegrationTest)

如何在测试环境中设置 request.referer 的内容。

它在开发环境中运行良好,但在运行测试时 nil

2 个答案:

答案 0 :(得分:1)

我在文档(http://edgeguides.rubyonrails.org/testing.html#setting-headers-and-cgi-variables

中找到了回复

您可以使用以下语法设置 request.referer

get articles_url, headers: { "HTTP_REFERER": "http://example.com/home" }

在这种情况下, request.referer 将等于http://example.com/home

答案 1 :(得分:0)

对于 RSPEC 3、RAILS 5

let(:headers) { some: "header" }
#...
request.headers.merge! headers
post :endpoint, params: params

https://github.com/rspec/rspec-rails/issues/1655#issuecomment-250418438