Jest provides a collection of utilities for working with mocked functions. To create a mock function, do:
jest.fn()
// assign it to a variable
const fakeFunc = jest.fn();
// pass it as a prop
<SpecialInput handleChange={jest.fn()} />
A mocked function can then be attributed with a return value.
const fakeFunc = jest.fn();
fakeFunc.mockReturnValue("hello");
fakeFunc(); // => "hello"
The
mockReturnValue()
function ensures that the value is returned whenever your function is
called.
We can also limit the return value to occurring just once.
const fakeFunc = jest.fn();
fakeFunc.mockReturnValueOnce("hello");
fakeFunc(); // => "hello"
fakeFunc(); // => null
mockReturnValueOnce()
ensures the value is returned once and all subsequent calls yield null
.