javascript - 测试后清除 sinon stub

标签 javascript node.js sinon stub

我在我的一项测试中有这个 stub :

sinon.stub(service, 'batchNote')
    .resolves(mResponse);

测试后可以清除吗?如果是这样,怎么办?

最佳答案

是的,这是可能的。

Sinon API 为 stub 提供了restore方法。来自docs

The original function can be restored by calling object.method.restore(); (or stub.restore())

因此,使用您的示例,您可以简单地执行以下操作:

const stub = sinon.stub(service, 'batchNote');
stub.resolves(mResponse);

console.log(service.batchNote()); // outputs stubbed value

stub.restore()
console.log(service.batchNote()); // outputs original

关于javascript - 测试后清除 sinon stub ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57638544/

相关文章:

javascript - 与 Jasmine 内置的 Spys 相比,使用 Sinon.js 有什么优势?

javascript - 如何访问其他 JS 文件中的函数

javascript - 渲染页面时如何从 Handlebars 获取 Angular 数据

javascript - Sinon stub 无法与 module.exports = { f1, f2} 一起使用

node.js - 使用 Express-Handlebars,如何将导航栏中的项目设置为事件状态?

javascript - 如何在日期对象上设置 LocaleHours()?

javascript - 理解Sinon.js的stub.yield()

javascript - 如何根据 Angular 选择值隐藏输入字段?

javascript - jQuery 未捕获类型错误 : Infinite scroll

javascript - NodeJS 错误 events.js:182 throw er;//未处理的 'error' 事件 ^ 错误:监听 EADDRINUSE:::3000