Как настроить jsdom при работе с jest

Я пытаюсь перейти от ava к jest. В ava вы можете установить ava.настройка, в которой вы устанавливаете среду jsdom. Например, создание структуры dom и выполнение необходимых polyfills (localStorage).

Как это сделать в шутку? в настоящее время я использую beforeEach в каждом наборе тестов, который не заполняется как лучшее решение.

спасибо заранее!

1 ответов


большой вопрос.

Jest фактически поставляется с jsdom и уже настроенной средой (вы можете переопределить ее с помощью testEnvironment задание).

Если вам нужно настроить больше аспектов окружающей среды, вы можете использовать setupTestFrameworkScriptFile задание чтобы указать на файл, который выполняется до запуска всех тестов.

например, если вам нужно window.yourVar в окне для всех ваших тестов, вы должны добавить это к вашему package.json:

"jest": {
    "setupTestFrameworkScriptFile": "tests/setup.js"
}

и в тестах/установки.js:

Object.defineProperty(window, 'yourVar', { value: 'yourValue });