1
今天我遇到了使用RoR將呼叫存根到AR對象的問題。我以爲我能夠做到的線沿線的東西:如何讓instance_of在RoR中使用ActiveRecord對象?
stub.instance_of(BankAccount).save_to_other_spot { true }
然而,當我嘗試這個方法似乎並沒有存根在所有的方法,它最終會運行原始方法我試圖存根。我證實了這一點使用調試器等
所以我最終使用下面的方法:
stub.proxy(BankAccount).find(anything) do |account|
stub(account).save_to_other_spot { true }
account
end
這工作。
我想知道如果我做錯了什麼?爲什麼instance_of不按我期望的方式工作?
我碰到的另一個問題是,在我的RSpec測試中,我似乎必須爲每個請求設置我的模擬和存根。再次,這是正常的還是我做錯了什麼?
我的意思是我不得不做這樣的事情:在頂部
... mock and stub ...
get :show, :id => @id
... mock and stub ...
post :update, :id => id, :account => { ... params ... }
我想我可以嘲笑和存根一次。