sinon 没有存根 属性 值

sinon not stubbing property value

我正在使用 sinon v4.1.2。根据文档 (http://sinonjs.org/releases/v4.1.2/sandbox/),我应该可以使用以下设置 属性:

sandbox.stub(myObject, 'hello').value('Sinon');

但是,我收到错误消息:

Property 'value' does not exist on type 'SinonStub'

真正的方法是什么?我查看了所有可用的函数,并尝试了 returnValue,但这也不是一个有效的函数。

以下是在旧版本的 sinon 上工作:

sandbox.stub(myObject, 'hello', 'Sinon');

这适用于 Sinon.JS v4.1.2:

myObject = {hello: 'hello'}
sandbox = sinon.createSandbox()
sandbox.stub(myObject, 'hello').value('Sinon')
myObject.hello // "Sinon"
sandbox.restore()
myObject.hello // "hello"

根据我的经验,没有必要每次都创建沙箱。您可以在没有它的情况下使用存根来降低代码的复杂性。 只需像这样定义一个存根:

const stubHello = sinon.stub(myObject, 'helloFunction');

然后你将拥有所有存根权力!