如何解决Mock service worker 无法拦截网络请求
我在这个 git repo 中有一个 React 项目,没有使用 create-react-app 从头开始创建,所以我使用了 msw doc 建议的 jest.config.js 和 jest.setup.js 文件用于模拟网络请求进行测试。执行测试时出现以下错误。
(节点:12207)实验警告:fs.promises API 是实验性的 控制台错误 错误:错误:连接 ECONNREFUSED 127.0.0.1:5000
当我使用包含 setupTests.js 的 create-react-app 创建新项目时,相同的测试代码工作正常,但我想在从头开始手动创建的 React 项目中模拟 api 请求。
有什么建议吗?
解决方法
在 msw
的教程中,模拟服务器在 setupTests.js
中配置。
因为 CRA (create-react-app) 已经为您配置了 jest
,当您使用 setupTests.js
运行测试时,CRA 将加载 react-scripts test
。
如果你想从头开始创建一个新项目(假设你已经安装了 react、react-dom 等)。
您必须自行配置 jest
(请参阅此 docs),所需步骤:
- 将
test
中的package.json
脚本更改为jest
- 安装依赖项(babel、jest 预设等)
- 使用
jest.config.js
配置 jest(就像你一样,我也添加了 jsdom 作为测试环境) - 设置
jest.setup.js
以加载模拟服务器
我创建了一个 PR 为您完成了上述步骤,以测试运行
npm run test App.test.js
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。