Axios: Jest dan Nock mengembalikan Kesalahan Jaringan saat membuat permintaan dengan Axios

Dibuat pada 5 Jun 2017  ·  3Komentar  ·  Sumber: axios/axios

Ringkasan

Menguji kode asinkron dengan Jest atau Nock selalu mengembalikan Kesalahan Jaringan.

Ini dilaporkan oleh orang lain:
https://www.bountysource.com/issues/38003315-network-error-when-using-nock-with-axios
https://stackoverflow.com/questions/42677387/jest-returns-network-error-when-doing-an-authenticated-request-with-axios

Saya sebenarnya telah menggunakan solusi pertama yang disarankan pada StackOverflow itu: "Solusi ubah adaptor aksio ke http". Itu benar-benar bekerja.

Tanpa memaksa adaptor http, menjalankan "npm test" dengan Jest menyebabkan pengujian tidak pernah selesai dan tetap macet selamanya.

Saya tidak yakin ini adalah masalah Axios daripada Jest atau Nock dan bukan ini intinya.

Yang aneh adalah stacktrace di bawah ini: menurut saya yang menjalankan implementasi xhr. Bukankah ini aneh di lingkungan simpul?
Apakah ada cara yang lebih sederhana untuk memaksa menggunakan adaptor http daripada yang disarankan di StackOverflow?

Kesalahan Jaringan

 di createError (node_modules/axios/lib/core/createError.js:16:15)
 di XMLHttpRequest.handleError [sebagai onerror] (node_modules/axios/lib/adapters/xhr.js:87:14)
 di XMLHttpRequest.callback.(fungsi anonim) (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:289:32)
 di inviteEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:219:27)
 di panggilanInlineListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:166:7)
 di EventTargetImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:122:7)
 di EventTargetImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:87:17)
 di XMLHttpRequest.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:61:35)
 di dispatchError (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:994:9)
 di validCORSHeaders (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:1009:7)
 di acceptResponse (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:871:12)
 di EventEmitter.client.on.res (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:691:38)
 di emitOne (events.js:96:13)
 di EventEmitter.emit (events.js:191:7)
 di Request.realClient.on.res (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:281:49)
 di emitOne (events.js:96:13)
 di Request.emit (events.js: 191:7)
 di Request.onRequestResponse (node_modules/request/request.js:1074:10)
 di emitOne (events.js:101:20)
 di ClientRequest.emit (events.js:191:7)
 di HTTPParser.parserOnIncomingClient (_http_client.js:522:21)
 di HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
 di Socket.socketOnData (_http_client.js:411:20)
 di emitOne (events.js:96:13)
 di Socket.emit (events.js:191:7)
 di readableAddChunk (_stream_readable.js:178:18)
 di Socket.Readable.push (_stream_readable.js:136:10)
 di TCP.onread (net.js:561:20)

Konteks

  • versi aksio :
  • Lingkungan: simpul v7.10, Ubuntu 17.04 Linux 4.10

Komentar yang paling membantu

Jika Anda melihat jejak tumpukan Anda, Anda akan melihat ada jejak jsdom. Itu berarti Anda menggunakan lingkungan jsdom/browser daripada node.js. Ini hanya masalah konfigurasi lelucon.

Semua 3 komentar

Jika Anda melihat jejak tumpukan Anda, Anda akan melihat ada jejak jsdom. Itu berarti Anda menggunakan lingkungan jsdom/browser daripada node.js. Ini hanya masalah konfigurasi lelucon.

Saya mengubah skrip pengujian di package.json menjadi "test": "react-scripts test --env=node" tetapi masih tidak berfungsi untuk saya. Apakah ada tempat lain di mana ini perlu diubah? (Proyek saya menggunakan create-react-app)

jest --env=node bekerja untuk saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

samayo picture samayo  ·  3Komentar

altruisticsoftware picture altruisticsoftware  ·  3Komentar

achingbrain picture achingbrain  ·  3Komentar

9tor picture 9tor  ·  3Komentar

ghost picture ghost  ·  3Komentar