Jestで外部APIをコールしたときに、Error: Headers User-Agent forbiddenが出る件
はじめに
Nodeのプロジェクトで、Jestを使ってテストコードを書いているときに外部のAPIをコールすると、以下のようなエラーが出てテストが失敗してしまう。
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.el.addEventListener.event (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 dispatchError (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:51:3)
at validCORSPreflightHeaders (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:91:5)
at Request.preflightClient.on.resp (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:361:12)
at Request.onRequestResponse (node_modules/request/request.js:1059:10)
console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Headers User-Agent forbidden
at dispatchError (以下略)
ネットで検索したら、SlackAPIでissueが上がっていた。
https://github.com/slackapi/node-slack-sdk/issues/655
で、結論から言うと、この記事にあるように、package.json
に以下の記述を追加すれば良い。
"jest": {
"testEnvironment": "node"
},
結構ハマったので、記事にしておきました。以上。
Author And Source
この問題について(Jestで外部APIをコールしたときに、Error: Headers User-Agent forbiddenが出る件), 我々は、より多くの情報をここで見つけました https://qiita.com/mobilebiz/items/dd938333a9052435a660著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .