[英]How does jest mock the module a dependency requires?
我知道如何在单元测试中通过jest
来模拟模块。 但是我的问题是如何模拟依赖项所需的模块。 例如,我在package.json
文件中定义了依赖项A
,而A
依赖于B
因此,在单元测试中,我如何模拟B
使用的A
?
jest.mock
适用于任何级别的依赖项。 所以
jet.mock('B');
在开始测试A
会起作用。
您也可以通过将__mocks__
放置到名为__mocks__
特殊文件夹中来提供自动放置。 因此,一旦B
位于node_modules
我们需要在__mocks__
旁边的同级__mocks__
目录中进行node_modules
例如
- node_modules
-- B
--- index.js
- __mocks__
-- B.js
最后要提防
警告:如果我们要模拟Node的核心模块(例如fs或path),则需要显式调用例如jest.mock('path'),因为默认情况下不模拟核心Node模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.