我想在rails项目上为ruby实现一个rspec测试。有些类使用gmaps4rails
factories.rb:
FactoryGirl.define do
factory :place do |s|
sequence(:name) {|n| "test place#{n}" }
end
end
factorytest_spec.rb(需要'spec_helper')
it "Test" do
Place.any_instance.stub(:geocode).and_return("..")
8.times do
s = FactoryGirl.build(:shop_with_adress)
end
end
现在这段代码有时会通过绿色,有时则不会。
Failure/Error: s = FactoryGirl.build(:place)
ActiveRecord::RecordInvalid:
这似乎导致Gmaps4rails Adress invalid
错误(?)
我应该如何存根gmaps4rails?我真的不知道如何准确地应用How to stub gmaps4rails geocode functions in rspec tests?中的提示。也许是因为我对stubbing / rspec很新。
答案 0 :(得分:0)
您可以复制Gmaps4rails.geocode
已发布的here上的存根,并在必要时根据您的需要进行调整。
要进行自定义,请复制粘贴结果:
Gmaps4rails.geocode("your custom address")
这是一个数组并复制它:
Gmaps4rails.stub(:geocode) do |*args|
your_custom_array
end
显然,我建议,像在gem中一样,创建自己的规范支持模块。