我已经查看了一些 Gmaps4rails 存根问题,并认为我非常接近,但并不完全在那里。原谅我:在 Rails 中进行 stubbing 和 mocking 非常新。
所有这些代码都适用于现实世界,只是试图让它在测试期间跳过地理编码。现在测试有时会工作,有时会因Gmaps4rails 地址地址无效错误而失败
所以,我有一个非常简单的party.rb 模型,它是acts_as_gmappable:
def gmaps4rails_address
"#{self.city}, #{self.country}"
end
我从 github 粘贴了 geocoding.rb 并将其放在 /spec/support 中,未修改
但是,我似乎无法告诉我的party_controller_spec 使用存根而不是真实的存根。我确定我错过了一些简单的东西......我试过了:
include Geocoding
乃至
Gmaps4rails.set_gmaps4rails_options!({:msg => "quack"})
并且我没有看到“quack”作为错误消息,我看到Validation failed: Gmaps4rails address Address invalid
也试过:
Gmaps4rails.set_gmaps4rails_options!({:validation => false, :check_process => false, :process_geocoding => false})
但是没有效果。
我的 factory.rb 有一个简单的 :party 定义:
Factory.define :party do |party|
party.name "Thai New Year"
party.city "Phuket"
party.country "Thailand"
...
end
所以,我很确定我没有正确地告诉 rspec 使用存根的 Gmaps4rails。那么,我将告诉 Gmaps4rails 使用您的 stub_geocoding 方法而不是实际尝试执行地理编码的代码放在哪里?
任何帮助将不胜感激......对不起,如果这是一个平凡的问题。
戴夫