Jestjs 在NodeJS/JEST中运行Axios时重复内容长度

Jestjs 在NodeJS/JEST中运行Axios时重复内容长度,jestjs,axios,nanoexpress,Jestjs,Axios,Nanoexpress,我在Axios/nanoexpress上遇到了非常奇怪的问题。我开始编写JEST测试,并从调用后端的Vuex复制了一段工作代码。此代码在Vue中可靠地工作,但在这里由于网络错误而失败。Axios版本在SPA和JEST测试中都是相同的 笑话: 当我删除带有授权头的配置时,代码运行良好: let response = await axios.get(`${API}/users/1234`, getAuthHeader()); 这就是错误: Network Error at createEr

我在Axios/nanoexpress上遇到了非常奇怪的问题。我开始编写JEST测试,并从调用后端的Vuex复制了一段工作代码。此代码在Vue中可靠地工作,但在这里由于网络错误而失败。Axios版本在SPA和JEST测试中都是相同的

笑话:

当我删除带有授权头的配置时,代码运行良好:

let response = await axios.get(`${API}/users/1234`, getAuthHeader()); 
这就是错误:

Network Error

  at createError (node_modules/axios/lib/core/createError.js:16:15)
  at XMLHttpRequest.handleError (node_modules/axios/lib/adapters/xhr.js:83:14)
  at XMLHttpRequest.<anonymous> (node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js:33:32)
  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:316:27)
  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:267:3)
  at XMLHttpRequestEventTargetImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:214:9)
  at fireAnEvent (node_modules/jsdom/lib/jsdom/living/helpers/events.js:17:36)
  at requestErrorSteps (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:121:3)
  at Object.dispatchError (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:51:3)
  at EventEmitter.<anonymous> (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:675:20)
  at Request.<anonymous> (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:384:47)
  at Request.onRequestError (node_modules/request/request.js:877:8)

console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Error: Parse Error: Duplicate Content-Length
    at Object.dispatchError (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:54:19)
    at EventEmitter.<anonymous> (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xmlhttprequest.js:675:20)
    at EventEmitter.emit (events.js:327:22)
    at Request.<anonymous> (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:384:47)
    at Request.emit (events.js:315:20)
    at Request.onRequestError (C:\Users\leos\WebstormProjects\nano-options\node_modules\request\request.js:877:8)
    at ClientRequest.emit (events.js:315:20)
    at Socket.socketOnData (_http_client.js:486:9)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:297:12) undefined
我花了几个小时试图查看原始网络通信,但失败了。这一定是Axios的问题,因为我可以使用Postman的授权头成功运行完全相同的请求

更新:

它似乎与NodeJS版本有关。我提交了一个问题:

更新2:


我从Axios切换到Got,测试工作正常

这是最小的可复制存储库:需要什么节点版本?试图在本地运行它,但得到了“此版本的µWS与您的Node.js版本不兼容:错误:找不到模块”。/uws_win32_x64_57.Node“来自'uws.js'”这是Node 13.11。仅供参考:有人标记发布的内容,他们从未收到有关评论、答案等的通知。因此,无论是谁标记它,可能会看到您只是偶然地询问原因我安装了NodeJS v12.16.2并获得“● 用户帐户›创建用户预期(已接收)。toBeTruthy()已接收:未定义”而不是错误,因为“内容长度”重复。以下是最小可复制存储库:需要什么节点版本?试图在本地运行它,但得到了“此版本的µWS与您的Node.js版本不兼容:错误:找不到模块”。/uws_win32_x64_57.Node“来自'uws.js'”这是Node 13.11。仅供参考:有人标记发布的内容,他们从未收到有关评论、答案等的通知。因此,无论是谁标记它,可能会看到您只是偶然地询问原因我安装了NodeJS v12.16.2并获得“● 用户帐户›创建用户预期(已接收)。toBeTruthy()已接收:未定义“未定义”,而不是错误,因为“内容长度”重复
Network Error

  at createError (node_modules/axios/lib/core/createError.js:16:15)
  at XMLHttpRequest.handleError (node_modules/axios/lib/adapters/xhr.js:83:14)
  at XMLHttpRequest.<anonymous> (node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js:33:32)
  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:316:27)
  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:267:3)
  at XMLHttpRequestEventTargetImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:214:9)
  at fireAnEvent (node_modules/jsdom/lib/jsdom/living/helpers/events.js:17:36)
  at requestErrorSteps (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:121:3)
  at Object.dispatchError (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:51:3)
  at EventEmitter.<anonymous> (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:675:20)
  at Request.<anonymous> (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:384:47)
  at Request.onRequestError (node_modules/request/request.js:877:8)

console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Error: Parse Error: Duplicate Content-Length
    at Object.dispatchError (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:54:19)
    at EventEmitter.<anonymous> (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xmlhttprequest.js:675:20)
    at EventEmitter.emit (events.js:327:22)
    at Request.<anonymous> (C:\Users\leos\WebstormProjects\nano-options\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:384:47)
    at Request.emit (events.js:315:20)
    at Request.onRequestError (C:\Users\leos\WebstormProjects\nano-options\node_modules\request\request.js:877:8)
    at ClientRequest.emit (events.js:315:20)
    at Socket.socketOnData (_http_client.js:486:9)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:297:12) undefined
app.get('/v1/users/:userId', async (req, res) => {
    console.log("getUser handler starts");
    const response = {};
    res.send(response);
    return res;
});