5
私はgmaps4railsを使い、いくつかのテストを開発しようとしています。rspecテストでgmaps4railsジオコード関数をスタブする方法はありますか?
私は明らかにGoogleが認識されない工場
factory :country do
sequence(:name) { |n| "Country#{n}" }
end
を持っています。
APIコールはテストにも時間がかかります。
API呼び出しをスタブするにはどうすればよいですか?
私はspecファイルに
before(:each)
Country.stub(:geocode)
end
を追加しようとしましたが、それは効果がありません。
私のモデルは、任意のアイデアについては、この
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
おかげのように見えます。
答えませんか? – apneadiving
こんにちは。答えに感謝します。無効なアドレスはGoogleからの返信であると思われます。これは正しいと思いますか?では、ジオコーディングをどのようにスタブしますか?私は 'Country.stub(:geocode)'を含む各ブロックを前に持っているcountry_specs.rbという単一のテストを実行しています。私は '.stub_geocode'、' .stub(:gmaps4rails) 'など他にもいくつか試してみましたが、ジオコーディングはまだ実行されています。モデルコードを質問に追加します。 –
あなたが宝石から来ているすべての提案を感謝します。スタブについてはこちらをご覧ください:https://github.com/apneadiving/Google-Maps-for-Rails/blob/master/spec/support/geocoding.rb – apneadiving