我無法理解在下面的情況下測試什麼以及如何執行測試。如何測試調用外部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這個 –