Jest:如何全局模拟 node-uuid(或任何其他导入的模块)

Jest: How to globally mock node-uuid (or any other imported module)

最近从 mocha 迁移到 jest,我 运行 遇到了问题。我的测试中有很多警告:

[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()

现在,向每个文件添加以下行可以解决问题,但 用于特定测试文件:

jest.mock('node-uuid', () => ({ v4: jest.fn(() => 1) }));

我希望有一种方法可以针对 所有 测试而不是单个文件全局模​​拟 node-uuid?我在我的设置文件中进行了大量搜索并尝试了不同的技术,但都无济于事。

您可以在 [root]/__mocks__/node-uuid.js 中定义一个 manual-mock 其中[root]node_modules目录所在目录:

module.exports = { v4: jest.fn(() => 1) }