我无法理解在下面的情况下测试什么以及如何执行测试。如何测试调用外部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,如果地址是有效的方法。我怎样才能测试这个隔离没有真正的电话到第三方API,而是模拟响应?
我读过关于嘲笑和存根的问题,但我还没有完全理解它们。任何见解都值得欢迎。使用Rspec,shoulda匹配器和工厂女孩。
嘿感谢这,我可以不做实际的请求吗?虽然不是一次? –
@PetrosKyriakou是的,使用webmock这个 –