DEV Community

Steven Liao
Steven Liao

Posted on

Jest for Sinon Stubs

At work, we recently converted from Mocha, Karma, Chai, and Sinon to Jest. It was not immediately obvious what the direct replacement was for

sinon.stub(object, 'methodName').callsFake(() => {})
Enter fullscreen mode Exit fullscreen mode

Found out Jest provides similar functionality with

jest.spyOn(object, 'methodName').mockImplementation(() => {})
Enter fullscreen mode Exit fullscreen mode

Top comments (7)

Collapse
 
afsarzan profile image
Afsar •

How to handle it if there is callback ?

Collapse
 
2ezpz2plzme profile image
Steven Liao •

What callback are you talking about? Got an example?

Collapse
 
afsarzan profile image
Afsar •
sinon.stub(object, 'methodName').callsFake((param,cb) => {
cb(param);
})
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
2ezpz2plzme profile image
Steven Liao •
jest.spyOn(object, 'methodName').mockImplementation((param, cb) => {
  cb(param)
})
Enter fullscreen mode Exit fullscreen mode

Does that work?

Thread Thread
 
afsarzan profile image
Afsar •

No. It says this expression is not callable. cb: unknow param

Collapse
 
hellixum profile image
SANKALP PANDEY •

ThankYou very much... I have been looking for this exact thing for hours on internet
.... you saved my day

Collapse
 
danieldfc profile image
Daniel Felizardo •

Thank you very much, I spent a lot of time trying to figure out how to solve this kind of problem.
Here's the solution.