0

我在这个git repo中有一个从头开始创建的 react 项目,没有使用 create-react-app,所以我使用msw doc建议的 jest.config.js 和 jest.setup.js 文件来模拟网络请求进行测试。执行测试时出现以下错误。

(节点:12207) ExperimentalWarning:fs.promises API 是实验性的 console.error 错误:错误:连接 ECONNREFUSED 127.0.0.1:5000

当我使用包含 setupTests.js 的 create-react-app 创建新项目时,相同的测试代码可以正常工作,但我想在从头手动创建的 react 项目中模拟 api 请求。

有什么建议吗?

4

1 回答 1

3

在 的教程中msw,模拟服务器是在setupTests.js. 因为 CRA (create-react-app) 已经jest为您配置好了,setupTests.js当您使用react-scripts test.

如果你想从头开始创建一个新项目(假设你已经安装了 react, react-dom, ... )。

你必须配置jest你自己(参考这个文档),需要的步骤:

  1. test将脚本更改package.jsonjest
  2. 安装依赖项(babel,为开玩笑预设等)
  3. 配置 jest jest.config.js(就像你做的那样,我也添加了 jsdom 作为测试环境)
  4. 设置jest.setup.js加载模拟服务器

我创建了一个为您执行上述步骤的PR,测试只是运行

npm run test App.test.js

输出:

在此处输入图像描述

于 2021-06-05T16:14:38.247 回答