爲了測試我的代碼的某個部分,我需要嘲笑一個原型方法以確保它被調用。代碼看起來像這樣。Jasmine:在單元測試後恢復原型方法
SomeObject.prototype.foo = jasmine.createSpy()
var so = SomeObject()
so.bar()
expect(SomeObject.prototype.foo).toHaveBeenCalled()
這有效,但它改變了我不想要的SomeObject的狀態。所以我想知道有沒有辦法在完成後恢復prototype.foo的狀態?我在考慮製作一個SomeObject的副本。我看了看jQuery.extend,但我不確定是否可以使用它來複制構造函數。
你應該指定你正在處理哪個模擬庫。 – 2011-05-09 14:24:10
我正在使用Jasmine.js。 – Pickels 2011-05-09 14:42:19
我已更新標題和標籤以反映這一點。 – 2011-05-09 14:45:57