Запуск jest с дефолтным setup файлом
Closed this issue · 4 comments
При апгрейде с arui-scripts@10.5.0 до @14.0.0 возникла проблема при запуске тестов jest.
Мой конфиг jest:
"jest": {
"preset": "arui-scripts"
}
Воспроизводится при следующих зависимостях:
arui-scripts@14.0.0
NodeJS 16.16.0
Проблема кроется в следующей строчке:
https://github.com/core-ds/arui-scripts/blob/master/packages/arui-scripts/src/configs/jest/setup.js#L6
При этом, я даже не использую enzyme в своих unit-тестах. И, закомментировав эту строчку, все работает нормально.
Хочется понять, нужна ли эта строчка вообще, нужно ли мне установить какую-то доп зависимость или проблема в других местах моего проекта?
Хуже всего то, что тесты даже не валятся, а "проходятся" успешно, даже не выполняясь.
Та же проблема при миграции с 13 версии
Но я даже не обратил внимания на то, что тесты не выполняются)
- Нужно прописать настройки в проекте для Jest:
"jest": {
"preset": "arui-scripts",
"testEnvironment": "jsdom",
"setupFilesAfterEnv": [
"./__tests__/setup.ts"
],
...
}
- Для Jest v26, c arui-scripts < 14.0.0 установить в devDependencies
"jest-environment-jsdom": " 26.6.2",
Для Jest v28, c arui-scripts > 14.0.0
"jest-environment-jsdom": " 28.1.3",
- Содержание файла
./__tests__/setup.ts
import { configure } from 'enzyme';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
configure({ adapter: new Adapter() });
window.React = require('react');
- Установить в devDependencies
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0"
при использовании React 17
Если используется в React v16, то можно не указыватьsetupFilesAfterEnv
и не устанавливать@wojtekmaj/enzyme-adapter-react-17
@andreynovikov95 что-то странное количество телодвижений нужно, чтобы заработал дефолтный setupFile. Он должен работать без установки доп. пакетов, или же эти доп пакеты должны быть включены в peerDependencies, а доп конфиги по умолчанию стоять в конфге jest в arui-scripts.
Так получается, что предложенное решение - просто "заглушка"
думаю да, jest-environment-jsdom можно было бы добавить в arui-scripts с "testEnvironment": "jsdom". По поводу адаптера, тут от проекта зависит, какую версию React используют