如何在 rspec 测试中存根 gmaps4rails 地理编码函数?

2024-04-23

我正在使用 gmaps4rails,并尝试开发一些测试。

我有一家工厂

factory :country do
   sequence(:name) { |n| "Country#{n}" }
end

这显然不被谷歌认可。

Validation failed: Gmaps4rails address Address invalid

在我的测试中,API 调用也需要一些时间才能运行。

如何存根 API 调用?

我尝试过添加

before(:each)
  Country.stub(:geocode)
end

到spec文件,但没有任何效果。

我的模型看起来像这样

class Country < ActiveRecord::Base
  acts_as_gmappable :lat => 'latitude', :lng => 'longitude'
  def gmaps4rails_address
    "#{self.name}" 
  end
  geocoded_by :gmaps4rails_address

  after_validation :geocode
end

感谢您的任何想法。


与名称中的整数无关。

我猜该地址不存在或无效。

不管怎样,有很多方法可以跳过地理编码或对其进行存根。

从以下内容中汲取灵感宝石的规格 https://github.com/apneadiving/Google-Maps-for-Rails/blob/master/spec/models/user_spec.rb

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 rspec 测试中存根 gmaps4rails 地理编码函数? 的相关文章

随机推荐