2015-09-24 16 views
0

在一点点的重构模式,我有一帮有双打测试被删空方法调用,如:允许模拟​​(双(“对象”))​​响应:呼叫或:发送像提供的方法?

connection = double("api_connection", create_thing: double("thing")) 

在这个例子中,调用connection.create_thing返回我的两倍,如预期thing

不过,我现在这样,实际的代码运行像改变了代码:

connection.send(:create_thing) 

这是造成错误的转换:

Double "api_connection" received unexpected message :call with (:create_thing) 

由于这是一个重构,我不愿意修复测试双打以响应通话。有没有办法将这些双打设置为接受:call,就像他们接受任何方法传递给:call一样?

回答

0

那么,这竟然是一个PEBCAK错误。

:call不是一个红宝石对象的方法 - 我打算使用的是:send。用:sends代替我的代码,在那里我有那些:call s导致一切工作。

好东西我没有试图'修复'测试 - 他们失败了。