我知道在单元测试中如何通过jest
模拟模块。但是我的问题是如何模拟依赖项所需的模块。例如,我在A
文件中定义了依赖项package.json
,而A
依赖于B
。因此,在单元测试中,如何模拟B
使用的A
?
答案 0 :(得分:1)
jest.mock
适用于任何级别的依赖项。所以
App
在jet.mock('B');
测试开始时可以使用。
您还可以通过将模拟放到名为A
的特殊文件夹中来provide auto-mocks。因此,一旦__mocks__
进入B
,我们需要在node_modules
旁边的同级__mocks__
目录中进行模拟,例如
node_modules
最后要提防
警告:如果我们要模拟Node的核心模块(例如:fs或path),请显式调用例如jest.mock('path')是必需的,因为默认情况下不对核心Node模块进行模拟。