我正在寫一些測試,我想斷言某些方法實際上調用了我已經存根的對象上的賦值方法。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
儘管許多操作符都變爲方法調用,但賦值操作符是一個例外,正如您提供的參考資料中所述。 –