2014-07-23 100 views
0

由於一些設計問題,我必須在一個特殊的鉤子中存儲一個對象的函數。Sinon.js:避免兩次存根

問題:掛鉤可以被多次調用。然後我需要知道這個函數是否已經存在了。

問題:如何避免兩次存根?

實施例:

// throws "undefined is not a function" if `doSOmething` 
obj.doSomething.restore(); hasn't been stubbed yet 
sinon.stub(obj, "doSomething", function() { alert('Stub!'); }); 

//throw an exception if `doSomething` function has been already stubbed 
sinon.stub(obj, "doSomething", function() { alert('Stub!'); }); 
+0

請顯示您正在測試的代碼和測試本身,並說明您正在嘗試實現的目標。您不能兩次存根函數,但可以爲每個調用創建不同的存根,並告訴存根被調用的次數。 – Sonata

回答

1

1.首先在鉤

2.測試鉤功能測試功能,存根/窺探鉤

不同的級別。