繁体   English   中英

笑话如何模拟依赖项所需要的模块?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM