[清理时,用sinon创建存根后,您可以还原或重置它。有人可以向我解释这两者之间的区别吗?或何时使用还原以及何时使用复位?
具有以下代码时:
const stub = sinon.stub(object, "foo");
原始的object.foo
方法不见了。如果要还原它,可以执行object.foo.restore()
或简单地将stub.restore()
作为快捷方式。换句话说,restore
对object
有影响。
而stub.reset()
对stub
本身有影响,同时会重置其行为和历史记录。 (缓存数据,例如已被调用过多少次,以前的调用…)