Установите виртуальную консоль jsdom для Jest с помощью create-реагировать на приложение
Я пытаюсь решить проблему с осязанием с помощью nock в тесте Jest (использую --env=jsdom
). В этой среде axios возвращает "Ошибка сети" при любом сбое. Чтобы получить подробности с помощью jsdom v9 (используется приложением Create React), вам необходимо настроить виртуальную консоль.
Пытаясь следовать методике в приведенной выше ссылке, я сделал yarn add jsdom-global@2
(последняя версия требует jsdom v10), затем добавил следующее к тесту:
import jsdom from "jsdom";
import globalJsdom from "jsdom-global";
const virtualConsole = jsdom.createVirtualConsole().sendTo(console);
globalJsdom(undefined, { virtualConsole });
Это приводит к TypeError: Argument to dispatchEvent must be an Event
,
Изменение на
const virtualConsole = jsdom.createVirtualConsole().sendTo(console);
jsdom.jsdom(undefined, { virtualConsole });
согласно этому ответу исправил TypeError, но я все еще вижу только Network Error
от Axios.
Моя цель - заставить nock работать с перехватчиками axios (что, очевидно, требует больше, чем просто настройка Access-Control-Allow-Origin
), но мне нужно увидеть детали ошибки, чтобы туда попасть (и диагностировать другие проблемы, которые могут возникнуть).
Как просмотреть подробные сообщения об ошибках axios в среде jsdom?
(Примечание: axios-mock-adapter делает то, что мне нужно; мой первоначальный вопрос сейчас в основном из любопытства.)