У меня есть файл, который выглядит следующим образом
// ./someFile.ts
import { someModule as metric } from 'somePackage';
const someOtherStuff = ...
export { metric, someOtherStuff };
В своих тестах я могу успешно смоделировать функцию на metric
примерно так
import { metric } from '@common/someFile';
metric.increment = jest.fn().mockImplementation(() => null);
Почти в каждом случае я ' Я собираюсь использовать этот точный макет, поэтому я попробовал ручной макет
// ./__mocks__/someFile.ts
const metric = { increment = jest.fn().mockImplementation(() => null); };
export { metric };
Однако, похоже, это не работает автоматически.
Нужно ли мне звонить jest.mock('./someFile');
в каждый тест? Документация шуток об этом сбивает с толку (кажется, это необходимо только для основных модулей Node). Также очищаются ли ручные макеты, когда вы очищаете шутливые макеты?
Что происходит с someOtherStuff
из моего исходного модуля? Если я хочу сохранить это как есть, нужно ли импортировать его, а затем повторно экспортировать в макет?