首頁  >  文章  >  web前端  >  如何在 Jest 中使用 import * 模擬 ES6 模組導入?

如何在 Jest 中使用 import * 模擬 ES6 模組導入?

DDD
DDD原創
2024-10-24 05:22:02776瀏覽

How to Mock ES6 Module Imports in Jest Using import *?

在 Jest 中模擬 ES6 模組導入

在 Jasmine 中,模擬 ES6 模組導入非常簡單。然而,在 Jest 中,該過程可能更具挑戰性,尤其是在處理使用預設導出的模組時。本文探討如何使用簡單的 import * hack 在 Jest 中模擬 ES6 模組導入。

傳統上,模擬導入需要用 require 替換導入,並在測試中聲明它們。這種方法可能是不可取的。

相反,我們可以利用 import * 直接改變模組的導出,從而允許我們模擬所需的函數或預設導出。對於命名導出:

同樣,對於預設導出:

雖然此方法提供了模擬ES6 導入的解決方法,但必須注意它涉及更改導入的模組,這可能會在測試執行中引入副作用和潛在問題。因此,建議首選使用 Jest 的原生模擬方法,例如 jest.spyOn 或 jest.mock。

以上是如何在 Jest 中使用 import * 模擬 ES6 模組導入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn