以下のケースで何をテストするのか、またそれを行う方法を理解する上で問題があります。外部APIを呼び出すモデルインスタンスメソッドをテストする方法
私はアドレスが有効であれば、基本的に呼び出され、その方法は、サードパーティのAPIをフックし、小切手を作成し、更新するアドレスモデル
validate :address, on: [:create, :update]
def address
check = CalendarEventLocationParsingWorker.new.perform("", self.structured, true)
if check[:code] != 0
errors.add(:base,"#{self.kind.capitalize} Address couldn't be analysed, please fill up as much fields as possible.")
else
self.lat = check[:coords]["lat"]
self.lon = check[:coords]["lng"]
end
end
で次のインスタンスメソッドを持っています。サードパーティのAPIを実際に呼び出すことなく、これを単独でテストすることはできますが、応答をシミュレートするにはどうすればよいですか?
モックとスタブについて読んだことがありますが、私はそれらをまだ手に入れていません。どんな洞察も歓迎です。 Rspecを使用して、マッチャーと工場の女の子。
webmockでに例を外部API応答をスタブに
をねえ、このためのおかげで実際のリクエストをせずに行うことはできますか一度もない? –
@PetrosKyriakouはい、これにはwebmockを使用してください –