【发布时间】:2017-01-31 11:37:24
【问题描述】:
我无法理解在下面的案例中要测试什么以及如何测试。
我在地址模型上有以下实例方法
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 检查地址是否有效。如何在不实际调用 3rd 方 api 而是模拟响应的情况下单独测试它?
我阅读了有关模拟和存根的信息,但我还没有完全理解它们。欢迎任何见解。使用 Rspec,应该是匹配器和工厂女孩。
【问题讨论】:
标签: ruby-on-rails rspec shoulda