Ищите несколько рекомендаций о том, как смоделировать метод .cancel
в ответе от lodash.
У меня есть функция, которая вызывает debounce
, а затем использует возвращаемое значение debounce для вызова debouncedThing.cancel()
.
Я могу просто смоделировать debounce
в своих тестах, за исключением случаев, когда моя функция называется .cancel()
.
В верхней части моих модульных тестов, которые я сейчас выполняю:
jest.mock('lodash/debounce', () => fn => fn));
Приведенный выше макет работал нормально, за исключением того места, где я звоню debouncedThing.cancel()
. В этом тесте я получаю ошибку, что debouncedThing.cancel()
не является функцией.
Код Psuedo, где я использую debounce, выглядит следующим образом:
const debouncedThing = debounce(
(myFunc, data) => myFunc(data),
DEBOUNCE_DELAY_TIME,
);
const otherFunc = () => {
/* omitted */
debouncedThing.cancel();
}