js:避免两次存根

Sinon.js: avoid stubbing twice

本文关键字:两次 存根 js      更新时间:2023-09-26

由于一些设计问题,我不得不将一个对象的函数存根放在一个特殊的钩子中。

问题:钩子可以被多次调用。然后我需要知道函数是否已经存根了。

问题:如何避免两次存根?

例子:

// 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!'); });

1。首先测试钩子

中的函数

2。测试钩子函数,存根/监视钩子

不同水平。