简体   繁体   中英

How to stub the return value on a mocked method in SinonJS

I want to do something like the following:

sinon.mock(obj)
.expects('func')
.atLeast(1)
.withArgs(args)
.returns(somePredefinedReturnValue);

Where I expect everything up to and including withArgs, but then I need to stub the return value of the method so that when it returns it doesn't break the rest of the execution flow within the method under test.

The reason I'm doing this is because I found out that some of my REST endpoint tests will silently pass when they should really be failing if a stubbed method with a callback that has an assertion inside of it doesn't get called. I'm trying to verify that these callbacks are actually getting called so that my tests don't give false positives.

In the official docs http://sinonjs.org/docs/#stubs

var stub = sinon.stub(object, "method", func);

You could pass a function argument that returns your desired value.

EDIT:

This has been removed from v3.0.0. Instead you should use

stub(obj, 'meth').callsFake(fn)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM