【发布时间】:2017-07-13 23:29:38
【问题描述】:
我在我的 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。
【问题讨论】:
-
听起来像这样更适用于控制器规范或请求规范而不是功能规范。
-
我想根据请求IP在我的视图中测试不同的行为
-
这可以通过视图规范或请求规范或控制器规范来完成(如果您告诉它呈现视图)。您可以修改请求的所有地方,和/或正常模拟/存根事物的地方(与功能测试不同)
标签: ruby-on-rails rspec capybara