Jest Mock (unit tests)

JS
S
JavaScript

Quick reference for mocking functions and modules in Jest unit tests. Covers setup, usage, and common patterns for isolating code during testing.

1
2import { MySuperService } from '../../src/services/super';
3
4jest.useFakeTimers();
5
6// Mock after import
7jest.mock('../../src/models/test.model', () => ({
8  __esModule: true,
9  default: 'TestModel',
10  TestModel: {}
11}));
12
13jest.mock('../../src/services/xpto', () => {
14  class XptoServiceClass {
15    sendEventRequest = () => {};
16  }
17  const Sender = new XptoServiceClass();
18  return { Sender };
19});
20
21afterAll(async () => {
22  jest.clearAllMocks();
23  return;
24}, 500);
25
26describe('My Super Service', () => {
27  it('Spy', async () => {
28    const spy = jest.spyOn(MySuperService, 'fn1');
29    MySuperService.fn2();
30    expect(spy).toHaveBeenCalled()
31  });
32});

Created on 3/9/2022