Jestでaxiosはネットワークエラーになってしまう件
JestでAPIを検証しようとした時、axiosからネットワークエラーが発生した。 背景:localhost:9090のwebpack-server経由でlocalhost:8080のバックサービスを叩く
色々調べると、ランタイム環境に関係ありそう。ちゃんとわかってないけど
解決案1
axiosアダプタをnode環境用のhttpアダプタを使うように変更する1。今回これを使って解決した
import axios from 'axios'
import httpAdapter from 'axios/lib/adapters/http'
const instance = axios.create({
adapter: httpAdapter,
// ...
});
解決案2
jestのディフォルト環境はブラウザ風のjsdomなので、nodeに変更すればできるはず2
// jest.config.js
module.exports = {
testEnvironment: "node"
};
又はjest --env=node
で実行する3
参考
Jestは、axiosで認証されたリクエストを行うと「ネットワークエラー」を返します