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

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

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

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

Фильтрация, таймауты, конкурентное выполнение тестов и наборов

CLI ​

Вы можете фильтровать тестовые файлы по имени через CLI:

bash
$ vitest basic

Будут выполнены только тестовые файлы, в названии которых содержится basic, например:

basic.test.ts
basic-foo.test.ts
basic/foo.test.ts

Вы также можете использовать опцию -t, --testNamePattern <pattern> для фильтрации тестов по полному имени. Это полезно, если требуется фильтровать по имени теста, определенному внутри файла, а не по имени самого файла.

Начиная с Vitest 3, вы также можете указать тест по имени файла и номеру строки:

bash
$ vitest basic/foo.test.ts:10

WARNING

Обратите внимание: для этой функции Vitest требует полного имени файла. Оно может быть относительным к текущему рабочему каталогу или абсолютным путём к файлу.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

На данный момент Vitest не поддерживает диапазоны строк:

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

Указание таймаута ​

Вы можете опционально передать таймаут в миллисекундах в качестве третьего аргумента для тестов. По умолчанию установлено 5 секунд.

ts
import { test } from 'vitest';

test('name', async () => {
  /* ... */
}, 1000);

Хуки также поддерживают таймаут, по умолчанию 5 секунд.

ts
import { beforeAll } from 'vitest';

beforeAll(async () => {
  /* ... */
}, 1000);

Пропуск наборов и тестов ​

Используйте .skip для пропуска выполнения определенных наборов или тестов:

ts
import { assert, describe, it } from 'vitest';

describe.skip('skipped suite', () => {
  it('test', () => {
    // Набор тестов пропущен, ошибок не возникло
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('suite', () => {
  it.skip('skipped test', () => {
    // Тест пропущен, ошибок не возникло
    assert.equal(Math.sqrt(4), 3);
  });
});

Выбор наборов и тестов для запуска ​

Используйте .only, чтобы запускать только определенные наборы или тесты:

ts
import { assert, describe, it } from 'vitest';

// Запускается только этот набор (и другие с меткой only)
describe.only('suite', () => {
  it('test', () => {
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('another suite', () => {
  it('skipped test', () => {
    // Тест пропущен, так как тесты выполняются в режиме only
    assert.equal(Math.sqrt(4), 3);
  });

  it.only('test', () => {
    // Запускается только этот тест (и другие с меткой only)
    assert.equal(Math.sqrt(4), 2);
  });
});

Не реализованные наборы и тесты ​

Используйте .todo для создания заглушек наборов и тестов, которые еще не реализованы:

ts
import { describe, it } from 'vitest';

// В отчете будет отображена запись по этому набору
describe.todo('unimplemented suite');

// В отчете будет отображена запись по этому тесту
describe('suite', () => {
  it.todo('unimplemented test');
});
Pager
Предыдущая страницаИнтерфейс командной строки
Следующая страницаТестовые проекты

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

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

https://vitest.dev/guide/filtering

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

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