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