Недавно вышла новая версия 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
.
#testing #tool #release
https://jestjs.io/blog/2021/05/25/jest-27