Действительно ли препроцессор, такой как Babel, необходим для Jest для моего проекта машинописи? - PullRequest
0 голосов
/ 23 сентября 2019

Мне нужно добавить тестовый блок для моего приложения реагирования, написанного с использованием машинописного текста.Я выбрал Jest для выполнения модульного теста в моем приложении, но у меня есть сомнения, требуется ли babel в качестве препроцессора для Jest или мой Jest будет работать без препроцессора.

1 Ответ

0 голосов
/ 24 сентября 2019

Jest запускается как приложение JavaScript на Node.js.

При запуске он ищет все ваши тестовые файлы.

Когда он находит тестовый файл, он применяет любые сконфигурированные преобразователи перед запуском способом, указанным в тестовой среде .

jsdom - это тестовая среда по умолчанию, в которой запускает сценарий с JSDOM VM .

node - это другая часто используемая тестовая среда, и она запускает скрипт в контексте .

Это означает, что всеэто не просто JavaScript (TypeScript, JSX и т. д.) необходимо преобразовать, прежде чем его можно будет запускать в любой из этих сред тестирования.

Babel является наиболее распространенным преобразователем, а Jest имеет некоторую Babel -конфигурацию, которая облегчает начало работы ...

... но Babel является не единственным вариантом и вы можете указать любой трансформатор, который вы хотите в Jest конфигурации , вы даже можете создатьЕсли вы хотите, то можете использовать свой собственный преобразователь ...

... но да, любой TypeScript необходимо преобразовать в обычный JavaScript, прежде чем его можно будет запустить с помощью Jest в jsdom или nodeокружающая среда. * * тысяча сорок-семь

...