javascript - 我可以使用 `Sinon` 伪造一个未定义的属性吗?

标签 javascript sinon

我理解 stub 是当我想用新函数替换原来的函数时使用的。

sinon.stub(A, 'b', function(){
  //fake
})

但只有当 bA 的属性时才有效。无论 b 是否存在,有什么方法可以伪造 A.b 吗?

我知道我可以做类似的事情:

var original = A.b;
A.b = function() {
    //fake
}
.... test cases...
A.b = original; // restore the original value 

有没有更优雅的方法来实现这个?

最佳答案

我不认为有更优雅的方式,但我也不认为你需要 sinon :

obj.stub = function () { //... };
// test stuff
delete obj.stub;

关于javascript - 我可以使用 `Sinon` 伪造一个未定义的属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176802/

相关文章:

javascript - Highcharts 如何在设置数据时显示加载动画

node.js - 断言错误: expected stub to have been called with arguments 201

javascript - 期望使用特定长度的数组调用 spy 函数

javascript - element.getElementsByClassName 不是函数

javascript - 如何在 GraphQL 中使用变异方法在模型中创建关系?

javascript - EventEmitter 与 facebook 的调度程序

javascript - 聊天气泡大小

javascript - 如何用 Sinon.JS 去除 google.maps 库?

javascript - 与 Mocha watch 一起使用时,Sinon stub 有奇怪的行为

javascript - 为什么我的 sinon fake 服务器不返回任何内容?