Я столкнулся с проблемой, когда выполняемый мной запрос к внешнему API работает нормально, но при запуске теста Jest / Enzyme он выдает ошибку CORS. Рассматриваемая функция использует реализацию JsonRpc из API и использует fetch из node-fetch. Не уверен, что есть параметры для CORS, которые можно где-то применить?
Я пробовал много вариантов асинхронного ожидания в среде тестирования Jest / Enzyme, но все еще сталкиваюсь с проблемами.
test("it should do something", done => {
const component = shallow(<CustomComponent />)
component.instance().customAsyncFunction( result => {
expect(result.length).toEqual(5)
done()
})
// return component.instance().customAsyncFunction().then(data => {
// expect(data.length).toEqual(5)
// })
})
Я пыталсявыше и несколько других методов (например, setTimeout и ожидание его) и получить ошибку CORS.
Я получаю следующие результаты:
console.error
node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Cross origin http://localhost forbidden
at dispatchError (...\node_modules\jest-environment-jsdom\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:65:19)
at Request.client.on.res (...\node_modules\jest-environment-jsdom\node_modules\jsdom\lib\jsdom\living\xmlhttprequest.js:679:38)
at Request.emit (events.js:198:13)
at Request.onRequestResponse (...\node_modules\request\request.js:1066:10)
at ClientRequest.emit (events.js:203:15)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
at TLSSocket.socketOnData (_http_client.js:442:20) undefined
Есть идеи?