Установите виртуальную консоль 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 делает то, что мне нужно; мой первоначальный вопрос сейчас в основном из любопытства.)

0 ответов

Другие вопросы по тегам