在沙盒中恢复单个存根

7
sandbox = sinon.sandbox.create();

sandbox.stub(db, 'query', () => {
    return Promise.resolve();
});

sandbox.stub(process, 'exit', () => { });

sandbox.restore();可以移除所有的存根。

我想要移除一个存根,以便我可以重新存根它。例如query存根。

这种操作是否可行?我找不到任何相关信息。

1个回答

8
您可以像这样恢复单个方法:
db.query.restore();

针对您的特殊情况:

根据Sinon文档:

var stub = sinon.stub(object, "method");

替换object.method为一个存根函数。如果该属性不是一个函数,则会抛出异常。

可以通过调用object.method.restore();(或stub.restore();)来恢复原始函数。

请参阅http://sinonjs.org/releases/v2.3.6/stubs/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接