jest-sandbox
Track jest spies and stubs easily.
The one feature I really missed when switching from sinon.js to jest spies and mocks was sandboxes. They allow you to create as many spies and stubs as you want without having to track them all and clear them manually.
Meet jest-sandbox:
; ; ;
Install
yarn add jest-sandbox -D
Some people prefer npm
;
npm i jest-sandbox -D
API
Make a sandbox:
; const sandbox = ;
sandbox.fn([implementation])
Returns a new mock function and keeps track of it. Similar to calling jest.fn([implementation])
.
sandbox.spyOn(object, methodName)
Spies on a method and returns a the wrapped mock function. Similar to calling jest.spyOn(object, methodName)
.
sandbox.clear()
Clears all spies in the sandbox. Actually calls .mockClear()
on every spy it keeps track of.
sandbox.reset()
Resets all spies in the sandbox. Actually calls .mockReset()
on every spy it keeps track of.
sandbox.restore()
Restores all spies in the sandbox. Actually calls .mockRestore()
on every spy it keeps track of.
Note
Keep in mind that you can still clear, reset and restore the single spies manually, like you're used to.
Contribute
I'm happy for every feature request, bugfix and / or PR.
Run tests:
yarn test # npm test is also ok
Build the whole shebang:
yarn build # npm build works as well