如何为不存在的外部依赖关系开玩笑

问题描述

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

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

由于该依赖性尚不存在,因此在笑话嘲笑之上显示以下错误

找不到模块“外部依赖性”

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

解决方法

the reference中所述,

第三个参数可用于创建虚拟模拟-系统中不存在的模块模拟​​

还要注意,jest.mock返回值默认情况下转换为CommonJS模块。如果是ES模块,则应为:

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