簡體   English   中英

如何使用 TypeScript 和 Jest 模擬深度嵌套的 function

[英]How to mock a deeply nested function with TypeScript and Jest

我想測試我的模塊並模擬 axios 外部依賴項。 問題是我直接測試的方法沒有(直接)導入axios。 它相當“隱藏”在中間調用后面。

像這樣,A和B是我的自定義模塊:A調用B,B使用axios所以,A不導入axios,只有B。

由於B是axios周圍很薄的一層,我不想直接測試。 我寧願只測試 A,並讓 axios 被嘲笑。

這個怎么做? 如果不是 axios,我有一個自定義模塊 C,它有什么區別嗎?

是的,您可以模擬一個模塊 - 請參閱https://jestjs.io/docs/en/manual-mocks 要模擬 axios,只需使用jest.mock('axios') ,然后從 'axios' 導入的任何內容都將是一個模擬(您可以通過標准的 Jest 模擬 API 配置它)。 請注意,它將針對整個測試用例進行模擬,因此,例如,如果您測試一個模塊,該模塊使用兩個其他模塊,每個模塊都使用 axios,則不能僅針對其中一個模擬 axios。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM