我正在写一些测试,我想断言某些方法实际上调用了我已经存根的对象上的赋值方法。Rspec期望赋值(=)方法被调用
我也试着这样做:
expect(test_object.some_object[:whatever]).to receive(:=).with(some_data) #Does NOT work
test_object.method()
这似乎并没有工作。有没有办法让我做到这一点?
之所以这样做是,“some_object”是一个开放的结构对象,它是一个替身,我不想测试时调用外部库。
我的印象是,无论是赋值运算符和其他运营商如+, - 和*所有都为方法的简写。也许我误解了。你有什么好的参考资料可以在这里看到吗? – Automatico
(要查看我的观点,请看这里:[http://ruby.about.com/od/oo/ss/Overloading-Operators.htm](http://ruby.about.com/od/oo/ ss/Overloading-Operators.htm)) – Automatico
尽管许多操作符都变为方法调用,但赋值操作符是一个例外,正如您提供的参考资料中所述。 –