вручную смоделируйте экспортированный модуль ES в Jest - PullRequest
0 голосов
/ 17 марта 2020

У меня есть файл, который выглядит следующим образом

// ./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 из моего исходного модуля? Если я хочу сохранить это как есть, нужно ли импортировать его, а затем повторно экспортировать в макет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...