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

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

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

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

CLI ​

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

bash
$ vitest basic

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

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

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

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

Вы можете указать таймаут в миллисекундах в качестве третьего аргумента функциям test. Значение по умолчанию — 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';

// Будет запущен только этот набор тестов
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', () => {
    // Будет запущен только этот тест
    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) 2024 Mithril Contributors

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

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

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