2016-12-05 6 views
1

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

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

Заранее благодарен!

ответ

5

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

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

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

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

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

И в тестах/setup.js:

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

Я знал о значении testEnvironment и значения по умолчанию, но «setupTestFrameworkScriptFile» был тем, что я искал. Благодаря!! –

+0

еще одна вещь, не полностью связанная, которую вы ожидаете от пакета вы рекомендуете? У меня должно быть специальное сообщение, а jest-expect не предоставляет эту опцию. –

+0

Если вы хотите включить сообщение, я бы рекомендовал https://www.npmjs.com/package/expect –