gpt4 book ai didi

javascript - 如何使用自定义方法和字段扩展沙盒 sinon

转载 作者:行者123 更新时间:2023-12-03 11:25:14 24 4
gpt4 key购买 nike

假设我想通过添加我自己的特殊 stub 来扩展 sinon:我可以这样写:

sinon.specialStub = function() {
return this.stub().returns('SPECIAL');
};

或者我可以使用 sinon.extend 并编写如下内容:

    sinon.extend(sinon, {
specialStub: function() {
return this.stub().returns('SPECIAL');
}
});

其作用基本相同。

一切都会按预期工作,但使用 var sandbox = sinon.sandbox.create(); 调用此方法将会失败。

这是我能想到的唯一已知的解决方法:

 var sandbox =  sinon.extend(sinon.sandbox.create(), {
specialStub: function() {
return this.stub().returns('SPECIAL');
}
});

问题是 - 有人知道如何扩展 sinon 并在沙箱中查看这些扩展方法吗?

最佳答案

我知道的唯一方法是将方法添加到sinon.collection

sinon.collection.specialStub = function() { return this.stub().returns('Special'); }
var sandbox = sinon.sandbox.create();
console.log(sandbox.specialStub);

可能会考虑询问 sinon 的维护者,看看它是否脆弱,因为它会利用他们认为是库内部的东西。

关于javascript - 如何使用自定义方法和字段扩展沙盒 sinon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26939466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com