Недавно вышла новая версия 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