Мне нужно добавить модульный тестовый пример для моего реагирующего приложения, написанного с использованием машинописного текста. Я выбрал Jest для выполнения модульного теста в своем приложении, но у меня есть сомнения, требуется ли Babel в качестве препроцессора для Jest или мой Jest будет работать без препроцессора.
Действительно ли препроцессор, такой как Babel, необходим Jest для работы с моим проектом машинописного текста?
Ответы (1)
Jest работает как приложение JavaScript на Node.js.
Когда он запускается, он ищет все ваши тестовые файлы.
Когда он находит тестовый файл, он применяет все настроенные преобразователи перед запуском способом, указанным в тестовой среде.
jsdom — тестовая среда по умолчанию, которая запускает скрипт с JSDOM ВМ.
node — это еще одна часто используемая тестовая среда, и она запускает скрипт в контексте.
Это означает, что все, что не является простым JavaScript (TypeScript, JSX и т. д.), должно быть преобразовано, прежде чем его можно будет запускать в любой из этих тестовых сред.
Babel — наиболее распространенный преобразователь, и Jest имеет некоторую Babel специфичную конфигурацию, которая делает легче начать...
...но Babel не единственный вариант и вы можете указать любой преобразователь, который вы хотите, в Jest конфигурация, вы даже можете создать свой собственный преобразователь, если хотите...
... но да, любой TypeScript необходимо преобразовать в обычный JavaScript, прежде чем он сможет запускаться Jest в среде jsdom или node.