簡體   English   中英

模擬服務工作者無法攔截網絡請求

[英]Mock service worker is unable to intercept network request

我在這個git repo中有一個 react 項目,從頭開始創建,沒有使用 create-react-app,所以我使用 jest.config.js 和 jest.setup.js 文件,正如msw doc建議的 mocking 網絡請求進行測試。 執行測試時出現以下錯誤。

(節點:12207) ExperimentalWarning:fs.promises API 是實驗性的 console.error 錯誤:錯誤:連接 ECONNREFUSED 127.0.0.1:5000

當我使用包含 setupTests.js 的 create-react-app 創建新項目時,相同的測試代碼可以正常工作,但我想在從頭開始手動創建的 react 項目中模擬 api 請求。

有什么建議嗎?

msw的教程中,模擬服務器是在setupTests.js中配置的。 因為 CRA (create-react-app) 已經為您配置了jest ,當您使用react-scripts test運行測試時,CRA 將加載setupTests.js

如果你想從頭開始創建一個新項目(假設你已經安裝了 react, react-dom, ... )。

您必須jest配置(請參閱此文檔),需要的步驟:

  1. package.json中的test腳本更改為jest
  2. 安裝依賴項(babel,為開玩笑預設等)
  3. jest.config.js配置 jest(就像你做的那樣,我也添加了 jsdom 作為測試環境)
  4. 設置jest.setup.js以加載模擬服務器

我創建了一個為您執行上述步驟的PR ,測試只是運行

npm run test App.test.js

Output:

在此處輸入圖像描述

暫無
暫無

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

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