Skip to content

Instantly share code, notes, and snippets.

@apieceofbart
Created February 21, 2018 13:15
Show Gist options
  • Save apieceofbart/d28690d52c46848c39d904ce8968bb27 to your computer and use it in GitHub Desktop.
Save apieceofbart/d28690d52c46848c39d904ce8968bb27 to your computer and use it in GitHub Desktop.
mock lodash debounce in jest
// somewhere on top
import _ from 'lodash';
jest.unmock('lodash');
// then
_.debounce = jest.fn((fn) => fn);
@Knogobert
Copy link

Updated version of @mos-adebayo's above that worked for me (using lodash-es)

jest.mock('lodash-es', () => ({
  ...jest.requireActual('lodash-es'),
  debounce: (fn) => {
    fn.cancel = jest.fn();
    return fn;
  },
}));

@pvev
Copy link

pvev commented Jun 4, 2022

You have to call the function and ignore the timer jest.mock('lodash/fp/debounce', () =>jest.fn((nr, fn) => fn())). This worked for me.

👍

@sumrender
Copy link

sumrender commented Apr 15, 2024

This worked for me perfectly:

import * as lodash from 'lodash-es';
// other imports...

jest.mock('lodash-es/debounce', () => ({
  default: jest.fn(fn => fn),
  __esModule: true
}));

// describe block...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment