首頁 > web前端 > js教程 > 主體

如何使用 Jest 處理 ES6 模組導入模擬?

Barbara Streisand
發布: 2024-10-23 22:34:02
原創
338 人瀏覽過

How to Handle ES6 Module Imports Mocking with Jest?

使用 Jest 模擬 ES6 模組導入

在使用 ES6 模組進行測試的世界中,模擬依賴關係有時會帶來挑戰。本文深入探討如何使用 Jest 模擬 ES6 模組匯入,提供適用於命名匯出和預設匯出的解決方案。

問題

考慮以下假設的ES6 模組,該模組依賴於另一個模組對於功能:

在理想的測試場景中,我們希望模擬依賴模組並斷言doSomething 函數正在使用預期的參數進行呼叫。然而,這個任務對於 Jest 來說可能會很棘手。

「噁心」方法

一種常見的方法包括用require 替換導入並在測試中移動它們,如下所示:

雖然這種方法滿足了眼前的需求,但它對程式碼庫引入了不必要的修改並降低了整體程式碼品質。

「駭客」方法

更優雅的解決方案涉及使用導入 * 語法。此技術允許直接突變命名或預設導出,從而輕鬆進行模擬。

對於命名導出:

對於預設導出:

>需要注意的是,以這種方式改變導入的模組可能會導致測試中的副作用和不可預測的行為。因此,雖然這種方法可以提供快速解決方案,但不建議將其作為長期實踐。 Jest 提供了更傳統的方法來模擬和監視模組,應該考慮使用這些方法。

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

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!