Релиз Jest 27
Недавно вышла новая версия Jest. Тим Секингер рассказал о новинках релиза — “Jest 27: New Defaults for Jest, 2021 edition”.
— В интерактивном режиме появилась возможность поочерёдного перехода по упавшим тестам.
— Инлайн-снапшоты теперь можно использовать без подключения Prettier.
— Инициализация тестов была ускорена на 70%.
— Продолжается работа над внедрением ESM. Её поддержка уже есть в кастомных раннерах, репортерах и watch-плагинах.
— Добавлена асинхронная поддержка transform
для эффективной транспиляции с помощью esbuild, Snowpack и Vite.
— Реализации функций describe
, it
, beforeEach
заменена соответствующими реализациями из jest-circus.
— Теперь используется новая реализация для мока таймеров. В очень редких случаях они могут сломать тесты, но есть возможность отката на старую версию с помощью jest.useFakeTimers("legacy")
.
— Изменено дефолтное тестовое окружение на node
. Для возврата к старому поведению нужно использовать опцию "testEnvironment": "jsdom"
.
— Изменена логика работы функции done
. Её коллбек нельзя вызвать более одного раза и нельзя комбинировать вызов done
с возвратом промиса. Блоку describe
запрещено возвращать какие-либо значения.
— Модули, загружающиеся с помощью опций testEnvironment
, runner
, testRunner
и snapshotResolver
, теперь транспилируются.
— Удалены задеприкейченные методы jest.addMatchers
, jest.resetModuleRegistry
, jest.runTimersToTime
.