4
A
回答
7
我解决它通过将IP地址的环境变量:
When /^the request ip address is "([^\"]*)"$/ do |ip_address|
ENV['RAILS_TEST_IP_ADDRESS'] = ip_address
end
application_controller.rb:
before_filter :mock_ip_address
def mock_ip_address
if Rails.env == 'cucumber' || Rails.env == 'test'
test_ip = ENV['RAILS_TEST_IP_ADDRESS']
unless test_ip.nil? or test_ip.empty?
request.instance_eval <<-EOS
def remote_ip
"#{test_ip}"
end
EOS
end
end
end
5
我Leventix的和Ramon的解决方案的组合:
规格/支持/ remote_ip_monkey_patch.rb
module ActionDispatch
class Request
def remote_ip_with_mocking
test_ip = ENV['RAILS_TEST_IP_ADDRESS']
unless test_ip.nil? or test_ip.empty?
return test_ip
else
return remote_ip_without_mocking
end
end
alias_method_chain :remote_ip, :mocking
end
end
+0
您能否告诉我什么样的对象'ENV ['RAILS_TEST_IP_ADDRESS']'是这样我可以创建它?它只是一个字符串?我会尝试''123.123.123.123''或什么的。 – 2014-02-04 23:56:42
相关问题
- 1. 黄瓜vs水豚
- 2. 水豚黄瓜匹配器
- 3. 传递黄瓜和水豚
- 4. 黄瓜/水豚对硒?
- 5. 黄瓜水豚步功能
- 6. 黄瓜,水豚和ElementNotFound
- 7. 黄瓜/水豚/硒 - 设置
- 8. 黄瓜水豚fill_in失败
- 9. 表订购黄瓜水豚
- 10. 如何找到用黄瓜水豚
- 11. 如何使用Pry和黄瓜/水豚?
- 12. 模拟关闭/重新打开黄瓜/水豚浏览器?
- 13. 黄瓜/水豚表中的变量
- 14. 黄瓜/水豚/硒中的Ajax请求?
- 15. 水豚/黄瓜的睡眠功能?
- 16. 如何包括水豚入黄瓜项目模块
- 17. 导轨,黄瓜,水豚 - 黄瓜一步不能按下按钮
- 18. 超时::错误与硒/水豚/黄瓜
- 19. 水豚/黄瓜找不到收音机
- 20. 黄瓜+水豚+硒:选择文本
- 21. 水豚黄瓜只有空白页
- 22. 水豚&黄瓜|获取饼干
- 23. 语法错误黄瓜+水豚
- 24. 黄瓜/水豚场景使用引号
- 25. 轨,黄瓜,水豚:会话不持久
- 26. 黄瓜/水豚测试x标签
- 27. 水豚和黄瓜CSS定位
- 28. 黄瓜/水豚找到()不重试
- 29. 点击图片使用黄瓜水豚
- 30. 使用黄瓜/水豚测试ActiveMerchant
我在轨道上3.1,我不得不remote_ip更改为IP。这适用于rubygeocoder.com gem。感谢发布! – jspooner 2011-09-08 16:05:35
这很酷,很有用。但是给其他读者的一个提示:最好通过像'spec/support/remote_ip_monkey_patch.rb'这样的文件打开它来打开ApplicationController。它更清洁,更漂亮。 – 2011-12-08 10:11:06