Skip to content
Vitest 1
Main Navigation РуководствоAPIКонфигурацияПродвинутый
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 UI

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

In-source тестирование (Тестирование в исходном коде)

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

Тестовая среда

Расширение проверок (matchers)

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

Отладка

Сравнения с другими тестовыми фреймворками

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

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

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

API

Справочник по Test API

Mock-функции

Vitest

expect

expectTypeOf

assert

assertType

Конфигурация

Настройка конфигурационного файла Vitest

Настройка Vitest

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

Зачем Vitest ​

ПРИМЕЧАНИЕ

Предполагается, что вы знакомы с Vite. Лучший способ узнать о нём — прочитать Руководство "Зачем Vite" и посмотреть стрим Инструменты для фронтенда нового поколения с ViteJS, где Эван Ю продемонстрировал основные концепции.

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

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

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

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

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

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

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

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

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

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

Авторские права (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/why

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

Авторские права (c) 2024 Mithril Contributors