我在我的Rails 5.1应用程序上使用RSpec和Capybara作为我的功能规格。我想将单个规范的请求IP伪造为'1.2.3.4'。
我和Poltergeist一起试过以下......
before do
page.driver.add_headers 'REMOTE_HOST' => '1.2.3.4'
end
但是,在我的控制器中放置一个撬,我发现request.headers['REMOTE_HOST']
是127.0.0.1
。
答案 0 :(得分:0)
我通过短信ActionDispatch::Request#remote_ip
allow_any_instance_of(ActionDispatch::Request).to receive(:remote_ip) { '1.2.3.4' }
http://guides.rubyonrails.org/action_controller_overview.html#the-request-object
如果可能,我宁愿改变实际的请求。