如何在 SinonJS 中的模拟方法上存根 return 值
How to stub the return value on a mocked method in SinonJS
我想做如下事情:
sinon.mock(obj)
.expects('func')
.atLeast(1)
.withArgs(args)
.returns(somePredefinedReturnValue);
我期望包括 withArgs 在内的所有内容,但是我需要存根方法的 return 值,以便当它 returns 时它不会破坏其余的被测方法内的执行流程。
我这样做的原因是因为我发现我的一些 REST 端点测试将在它们真正应该失败的时候默默地通过,如果一个带有回调的存根方法没有在其中包含断言被叫到。我正在尝试验证是否确实调用了这些回调,以便我的测试不会给出误报。
在官方文档中
http://sinonjs.org/docs/#stubs
var stub = sinon.stub(object, "method", func);
您可以传递一个 returns 您想要的值的函数参数。
编辑:
这已从 v3.0.0 中删除。相反,你应该使用
stub(obj, 'meth').callsFake(fn)
我想做如下事情:
sinon.mock(obj)
.expects('func')
.atLeast(1)
.withArgs(args)
.returns(somePredefinedReturnValue);
我期望包括 withArgs 在内的所有内容,但是我需要存根方法的 return 值,以便当它 returns 时它不会破坏其余的被测方法内的执行流程。
我这样做的原因是因为我发现我的一些 REST 端点测试将在它们真正应该失败的时候默默地通过,如果一个带有回调的存根方法没有在其中包含断言被叫到。我正在尝试验证是否确实调用了这些回调,以便我的测试不会给出误报。
在官方文档中 http://sinonjs.org/docs/#stubs
var stub = sinon.stub(object, "method", func);
您可以传递一个 returns 您想要的值的函数参数。
编辑:
这已从 v3.0.0 中删除。相反,你应该使用
stub(obj, 'meth').callsFake(fn)