Skip to content
Vitest 3
Main Navigation Руководство & APIКонфигурацияРежим браузераРасширенный API
3.2.0
2.1.9
1.6.1
0.34.6

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Внешний вид

Sidebar Navigation

Введение

Почему Vitest

Начало работы

Возможности

Настройка Vitest

API

Справочник по API тестирования

Мок-функции

Vi

expect

expectTypeOf

assert

assertType

Руководство

Интерфейс командной строки

Фильтрация тестов

Тестовые проекты

Средства отчётности

Покрытие кода

Снапшот-тестирование

Мокирование

Параллелизм

Тестирование типов

Vitest UI

Тестирование в исходном коде

Контекст теста

Аннотации тестов

Среда тестирования

Расширение матчеров

Интеграции с IDE

Отладка

Распространенные ошибки

Руководство по миграции

Миграция на Vitest 3.0

Миграция с Jest

Производительность

Профилирование производительности тестов

Улучшение производительности

Режим браузера

Расширенный API

Сравнение с другими тестовыми раннерами

Содержание страницы

Почему Vitest ​

ПРИМЕЧАНИЕ

Данное руководство предполагает, что вы знакомы с Vite. Лучший способ узнать больше — это прочитать Руководство "Почему Vite" и посмотреть Next generation frontend tooling with ViteJS — стрим, на котором Эван Ю продемонстрировал и объяснил основные концепции.

Необходимость в нативном тестовом раннере для Vite ​

Vite предоставляет встроенную поддержку общих веб-шаблонов, включая такие функции, как глобальные импорты и примитивы SSR, а также множество плагинов и интеграций, что способствует созданию динамичной экосистемы. Его подход к разработке и сборке является ключом к успеху. Для документации есть несколько альтернатив на основе SSG, работающих на базе Vite. Однако вопрос модульного тестирования в Vite оставался неясным. Существующие опции, такие как Jest, были созданы в другом контексте. Между Jest и Vite много дублирования функционала, что вынуждает пользователей настраивать два разных конвейера.

Использование dev-сервера Vite для преобразования ваших файлов во время тестирования позволяет создать простой раннер. Ему не нужно заниматься сложностью преобразования исходных файлов, и он может сосредоточиться исключительно на обеспечении наилучшего DX (опыта разработчика) во время тестирования. Это тестовый раннер, который использует ту же конфигурацию вашего приложения (через vite.config.js), разделяя общий конвейер преобразования во время разработки, сборки и тестирования. Он расширяем с помощью того же API плагинов, который позволяет вам и разработчикам ваших инструментов обеспечивать первоклассную интеграцию с Vite. Это инструмент, который изначально создан с учетом Vite, используя его преимущества в DX, такие как мгновенная горячая замена модулей (HMR). Это Vitest, фреймворк для тестирования нового поколения, основанный на Vite.

Учитывая массовое распространение Jest, Vitest предоставляет совместимый API, который позволяет использовать Vitest в качестве полноценной замены в большинстве проектов. Он также включает наиболее распространенные функции, необходимые при настройке модульных тестов (имитация, снимки, покрытие). Vitest уделяет большое внимание производительности и использует рабочие потоки (воркеры) для максимально параллельного выполнения. В некоторых случаях было замечено, что тесты выполняются в несколько раз быстрее. Режим отслеживания изменений включен по умолчанию, что соответствует философии Vite, ориентированной на разработчика. Несмотря на все эти улучшения в области DX, Vitest остается легковесным, тщательно выбирая свои зависимости (или прямо включая необходимые компоненты).

Vitest стремится позиционировать себя как предпочтительный тестовый раннер для проектов Vite, а также как надежная альтернатива даже для проектов, не использующих Vite.

Продолжить чтение в Руководстве по началу работы

Чем Vitest отличается от X? ​

Вы можете ознакомиться с разделом Сравнения для получения более подробной информации о том, чем Vitest отличается от других подобных инструментов.

Pager
Следующая страницаНачало работы

Выпущено на условиях лицензии MIT.

Авторские права (c) 2021-Present Vitest Team

https://vitest.dev/guide/why

Выпущено на условиях лицензии MIT.

Авторские права (c) 2021-Present Vitest Team