首页 > 解决方案 > 如何对不存在的外部依赖进行开玩笑模拟

问题描述

我正在尝试模拟尚未在 npm 存储库中发布的外部依赖项。

import Utils from 'external-dependency';
jest.mock('external-dependency', () => ({
default: ()=> jest.fn()
}));

上面的笑话显示以下错误,因为该依赖项尚不存在。

找不到模块“外部依赖”

如何在 Jest 中模拟不存在的依赖关系?

标签: unit-testingjestjsjest-fetch-mock

解决方案


参考文献中所述

第三个参数可用于创建虚拟模拟——系统中任何地方都不存在的模块模拟

另请注意,jest.mock默认情况下,返回值会转换为 CommonJS 模块。如果是 ES 模块,它应该是:

jest.mock('external-dependency', () => ({
  __esModule: true,
  default: ()=> jest.fn()
}), {virtual: true});

推荐阅读