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