Vitest 4.1, популярный фреймворк для тестирования JavaScript от команды VoidZero, вышел с набором новых функций, включая тестовые теги и поддержку Native Node.js. Эти изменения помогут разработчикам сделать процесс тестирования более организованным и приближенным к производственным условиям.
Новые возможности для управления тестами
Одной из ключевых новинок Vitest 4.1 стали тестовые теги, позволяющие разработчикам маркировать тесты и применять единые настройки, такие как таймауты или повторы для каждой категории. Это было запрошено сообществом, и потребность в этой функции была очевидной: "Я пришёл из Pytest, и очень скучаю по возможности простой маркировки тестов в большинстве фреймворков", — отмечает запрос на GitHub.
Синтаксис фильтрации поддерживает логические операторы и подстановочные знаки. Например, команда vitest --tags-filter="frontend && !flaky" запускает фронтенд-тесты, исключая ненадежные.
Производительность и совместимость
Кроме того, в новой версии доступна экспериментальная опция viteModuleRunner: false, которая отключает модульный раннер Vite и позволяет выполнять тесты с использованием нативного импорта Node.js. Это ускоряет загрузку и создает поведение, близкое к производственным условиям.
Для разработчиков на Node.js 22.18+ или 23.6+ произошла поддержка нативного удаления TypeScript без дополнительной настройки. Обсуждение на GitHub подтвердило совместимость с Bun, хотя некоторые функции пока недоступны.
Поддержка CI и интеграция с AI
Для CI/CD процессов разработан новый репортер для GitHub Actions, который генерирует сводку по заданиям с тестовой статистикой и выделяет ненадежные тесты. Отдельный репортер для AI-агента уменьшает использование токенов, подавляя вывод проходящих тестов и журналов.
Vitest продолжает увеличивать разрыв в производительности по сравнению с Jest. По данным одного из бенчмарков, Vitest показал более быстрый старт и меньшую память при использовании в проектах с тестами на 50 000 элементов.
Выводы для русскоязычных разработчиков
Для команд разработки в России внедрение Vitest 4.1 может улучшить процесс тестирования, что, в свою очередь, ускорит выход продукта на рынок. Поскольку API фреймворка совместим с Jest, переход на Vitest не создаст значительных проблем.
Следующий шаг — изучение новых возможностей и обновлений для повышения эффективности тестирования в ваших проектах.