我通过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"
[...]
用jest.mock
模拟的模块应该存在。不存在的模拟模块应标记为虚拟:
jest.mock('MyModule', () => ..., {virtual: true});