Шутка: избегать ручного дублирования кода - PullRequest
0 голосов
/ 15 января 2020

Работа с микросервисной инфраструктурой. Необходимо смоделировать один из моих импортов из пакета - json, который указывает на закрытый модуль npm.

У меня есть модуль, смоделированный в одном из моих репозиториев, путем создания ручного макета в * 1003 Каталог * mocks , и это прекрасно работает.

Но теперь, во всех других репозиториях, использующих этот модуль, мне придется скопировать этот же макет в их каталог mocks , чтобы этот шутка использует смоделированную версию вместо действительного кода модуля.

Можно ли как-нибудь разместить макет в самом модуле npm и указать каждому репо на макет модуля npm, чтобы я не нужно дублировать кучу кода во всех репозиториях, использующих эту зависимость?

1 Ответ

0 голосов
/ 18 января 2020

Вы можете указать макет кода прямо в модуле. не будет автоматически загружаться , как Jest делает с __mocks__ в каталоге root вашего источника, но вы все еще можете import, что высмеивает в ваших тестах:

import mockedMyModule from "yourmodule/mock.js";

jest.mock("yourmodule/index.js", () => mockedMyModule);

или вы можете создать src/__mocks__/yourmodule.js только для

import mockedMyModule from "yourmodule/mock.js";

export default mockedMyModule;

, чтобы сработала автоматическая блокировка.

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