Vitest v4.1.1: Новые возможности и исправления стабильности

Vitest, быстрый фреймворк для модульного тестирования, выпустил версию 4.1.1 23 марта 2026 года. Это обновление сосредоточено на экспериментальных функциях и критических исправлениях ошибок для повышения стабильности и удобства разработчиков. Оно важно для команд, использующих современные практики тестирования JavaScript. Для сравнения различных фреймворков, наша статья о Jest vs. Mocha comparison предлагает дополнительные сведения.

Ключевые изменения

Экспериментальные возможности: Vitest v4.1.1 представляет две экспериментальные функции:

  • matchesTags: Эта новая утилита позволяет проверять, соответствует ли текущий фильтр определенным тегам, предлагая более гранулированный контроль над выполнением тестов.
  • experimental.vcsProvider: Новая опция конфигурации для интеграции с системами контроля версий (VCS), потенциально упрощающая рабочие процессы тестирования на основе изменений в коде.

Исправления ошибок: Этот патч-релиз устраняет несколько проблем в различных модулях:

  • Ассерты и Моки: Исправления включают регрессию типов в статических методах класса vi.mocked() и обеспечение корректного продолжения soft assertions после ошибок промисов .resolves/.rejects в expect. Также исправлен API в стиле sinon-chai.
  • Покрытие кода и Отчеты: Устранены проблемы с сохранением отчетов о покрытии, когда HTML-репортеры перекрываются, а также улучшена загрузка встроенных провайдеров покрытия.
  • Стабильность тест-раннера: Обновление решает такие проблемы, как обнаружение фикстур, которые возвращаются без вызова use, предотвращение утечек event listener в Playwright provider и предоставление vi.advanceTimers для preview provider.
  • Совместимость с Vite: Vitest v4.1.1 прекращает поддержку Vite 8.beta, обеспечивая совместимость со стабильными версиями Vite.
  • Ясность вывода: pretty-format теперь ограничивает вывод для больших объектов, улучшая читаемость результатов тестов.

Влияние на команды QA

Инженеры QA обнаружат, что Vitest v4.1.1 повышает надежность их тестовых наборов и процессов отладки. Исправления в expect и vi.mocked() повышают точность модульных тестов, а улучшения в отчетах о покрытии предоставляют более надежные метрики. Экспериментальные функции, такие как matchesTags, предлагают будущие возможности для продвинутых стратегий выбора тестов.

Часто задаваемые вопросы

В: Какие основные новые функции в Vitest v4.1.1? О: Обновление вводит экспериментальные matchesTags для расширенной фильтрации тестов и experimental.vcsProvider для интеграции с VCS.

В: Есть ли какие-либо критические изменения в этом обновлении? О: Vitest v4.1.1 прекращает поддержку Vite 8.beta. Пользователи стабильных версий Vite не должны столкнуться с критическими изменениями.

В: Почему инженерам QA стоит рассмотреть обновление до Vitest v4.1.1? О: Это обновление содержит важные исправления ошибок, которые улучшают стабильность тестов, надежность ассертов и отчетность о покрытии, что приводит к более достоверным результатам тестов и улучшенному опыту отладки.

Посмотреть изменения на GitHub