0

我想为 ruby​​ on rails 项目实施 rspec 测试。一些类使用 gmaps4rails

工厂.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?我真的不知道如何在 rspec 测试中应用 How to stub gmaps4rails geocode functions 中的提示?完全正确..也许是因为我对存根/rspec 很陌生。

4

1 回答 1

0

您可以在此处复制详细的存根,Gmaps4rails.geocode并在必要时根据您的需要进行调整。

对于自定义,复制粘贴以下结果:

Gmaps4rails.geocode("your custom address")

这是一个数组并复制它:

Gmaps4rails.stub(:geocode) do |*args|
  your_custom_array
end

显然,我建议像在 gem 中一样,创建自己的规范支持模块。

于 2012-10-23T10:16:44.993 回答