我怎么能在不使用任何 gem 的情况下模拟任何方法?
假设我可以访问一个复杂的对象,例如request
我怎么能做
request.location.country
返回一个模拟值。
我读到我可以geocoder
用宝石模拟结果,但我想知道一种通用的方法。
我怎么能在不使用任何 gem 的情况下模拟任何方法?
假设我可以访问一个复杂的对象,例如request
我怎么能做
request.location.country
返回一个模拟值。
我读到我可以geocoder
用宝石模拟结果,但我想知道一种通用的方法。
这就是我一直在做的事情
foo = Geocoder.search('Paris, TX')
foo.first.county
我正在使用 BingAPI,为了弄清楚我可以在foo.first
对象上访问哪些选项,我查看了 Geocoder 文档:
http://rdoc.info/github/alexreisner/geocoder/master/Geocoder/Result/Bing
就 Ruby 是一种鸭子类型的语言而言,确切的对象类型没有经过 AOT 验证,那么依赖注入就像编写一个具有与真实对象相同的方法/签名/返回类型的类一样简单。
为了进行适当的模拟,我过去使用Flexmock取得了一些成功,但 YMMV 取决于你在做什么。