Jestjs 在NodeJS/JEST中运行Axios时重复内容长度
我在Axios/nanoexpress上遇到了非常奇怪的问题。我开始编写JEST测试,并从调用后端的Vuex复制了一段工作代码。此代码在Vue中可靠地工作,但在这里由于网络错误而失败。Axios版本在SPA和JEST测试中都是相同的 笑话: 当我删除带有授权头的配置时,代码运行良好: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
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;
});