#javascript #typescript #testing #jestjs
#javascript #typescript #тестирование #jestjs
Вопрос:
У меня есть некоторый импортируемый во время выполнения модуль, импортируемый через AMD define. Все работает так, как ожидалось, но я просто не могу издеваться над каким-либо модулем времени выполнения внутри тестов.
Сообщение об ошибке без насмешек: Cannot find module 'MyModule' from ...
Я также получаю то же сообщение об ошибке при попытке доступа к jest.mock
модулю. тогда ошибка возникает только внутри тестового файла.
// globals.d.ts
declare module 'config' {
const val: IConfig;
export default val;
}
// main.ts
/// <reference path="./globals.d.ts" />
import config from 'config';
[...]
// main.spec.ts
import { main } from "./main.ts"
[...]
Ответ №1:
Ожидается, что модуль, над которым издеваются jest.mock
, должен существовать. Несуществующие издевательские модули должны быть помечены как виртуальные:
jest.mock('MyModule', () => ..., {virtual: true});