Categories
JavaScript Answers

How to change mock implementation for a single test with Jest?

Spread the love

Sometimes, we want to change mock implementation for a single test with Jest.

In this article, we’ll look at how to change mock implementation for a single test with Jest.

How to change mock implementation for a single test with Jest?

To change mock implementation for a single test with Jest, we can call the mockImplementation method on the function we want to mock in our test.

For instance, we write

import {
  funcToMock
} from './module';
jest.mock('./module');

beforeEach(() => {
  funcToMock.mockImplementation(() => {
    /* default implementation */
  });
});

test('with new mock function', () => {
  funcToMock.mockImplementation(() => {
    /* implementation specific to this test */
  });
  // ...
});

to call funcToMock.mockImplementation with the mock function as a callback to mock funcToMock in the beforeEach callback to provide a mocked version of funcToMock for all tests.

Then in the 'with new mock function' test, we call funcToMock.mockImplementation again with another function to mock the function for this specific test.

Conclusion

To change mock implementation for a single test with Jest, we can call the mockImplementation method on the function we want to mock in our test.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

One reply on “How to change mock implementation for a single test with Jest?”

Leave a Reply

Your email address will not be published. Required fields are marked *