【问题标题】:ECONNREFUSED 127.0.0.1:80 using fetch-mock-jest for /localRoute mockECONNREFUSED 127.0.0.1:80 使用 fetch-mock-jest 进行 /localRoute 模拟
【发布时间】:2020-04-17 13:39:37
【问题描述】:

所以 fetch-mock-jest 是基于 fetch-mock 的(它不是 jest-fetch-mock..

https://www.npmjs.com/package/fetch-mock-jest

http://www.wheresrhys.co.uk/fetch-mock/

我遇到的问题是:

// inside my test file
fetchMock.restore().mock('https://someSiteOnTheInternet.com', someResponse)

// inside my tested file
fetch('https://someSiteOnTheInternet.com').then(...)

上述方法有效,但一旦我尝试本地路线,它不再有效

// inside my test file
fetchMock.restore().mock('/myProxy', someResponse)

// inside my tested file
fetch('/myProxy').then(...)

这个('/myProxy')将失败并出现错误:

console.error node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/virtual-console.js:29
  Error: Error: connect ECONNREFUSED 127.0.0.1:80

知道我在这里做错了什么吗?

【问题讨论】:

  • 你检查端口是否已经被保留了吗?
  • 嗯是的 localhost 没有被使用...
  • 不是 localhost 作为一个整体,我的意思是端口80,因为它可以在进行测试期间被正在运行的进程使用。
  • 不,我跑了 lsof -nP -iTCP:80 | grep 听; 80 端口未使用

标签: jestjs fetch-mock


【解决方案1】:

您可以在运行测试之前设置DEBUG=fetch-mock*,这将提供大量输出来显示 fetch-mock 内部发生的情况。

【讨论】:

  • 我在哪里设置这个?
【解决方案2】:

你可能和docker有冲突, 你的前台码头化了吗? 你有 docker 为你的后端运行吗? 你能停止 docker/重启你的机器并尝试在没有 docker 的情况下只运行你的前端吗?

【讨论】:

  • 我没有将 docker 用于前端或后端, docker ps -a 不返回任何正在运行的容器。
猜你喜欢
  • 2021-12-01
  • 2022-06-23
  • 2021-02-25
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多