0

RubyonRailsプロジェクトのrspecテストを実装したいと思います。一部のクラスはgmaps4railsを使用します

factorys.rb:

 FactoryGirl.define do
   factory :place do |s|
      sequence(:name) {|n| "test  place#{n}" }
   end
 end

factorytest_spec.rb(require'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テストでgmaps4railsジオコード関数をスタブする方法からヒントを適用する方法が実際にはわかりませんか?正確に..たぶん、私はスタブ/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 に答える