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 поддерживает аннотирование ваших тестов пользовательскими сообщениями и файлами через API context.annotate. Эти аннотации будут прикреплены к тестовому случаю и переданы репортерам в хуке onTestAnnotate.

ts
test('hello world', async ({ annotate }) => {
  await annotate('this is my test');

  if (condition) {
    await annotate("this should've errored", 'error');
  }

  const file = createTestSpecificFile();
  await annotate('creates a file', { body: file });
});

WARNING

Функция annotate возвращает Promise, поэтому ее необходимо ожидать, если вы от нее зависите. Однако Vitest также автоматически ожидает любые аннотации, которые не были явно ожиданы (awaited), до завершения теста.

Эти аннотации будут отображаться по-разному в зависимости от используемого репортера.

Встроенные репортеры ​

default ​

Репортер default выводит аннотации только при неудачном завершении теста:

  ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯

  FAIL  example.test.js > an example of a test with annotation
Error: thrown error
  ❯ example.test.js:11:21
      9 |    await annotate('annotation 1')
      10|    await annotate('annotation 2', 'warning')
      11|    throw new Error('thrown error')
        |          ^
      12|  })

  ❯ example.test.js:9:15 notice
    ↳ annotation 1
  ❯ example.test.js:10:15 warning
    ↳ annotation 2

  ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯

verbose ​

В терминале TTY репортер verbose ведет себя так же, как default. Однако в не-TTY-среде репортер verbose также будет выводить аннотации после каждого теста.

✓ example.test.js > an example of a test with annotation

  ❯ example.test.js:9:15 notice
    ↳ annotation 1
  ❯ example.test.js:10:15 warning
    ↳ annotation 2

html ​

HTML-репортер отображает аннотации так же, как и пользовательский интерфейс Vitest. Аннотации показываются на строках, где они были вызваны. В настоящее время, если аннотация не была вызвана в тестовом файле, вы не сможете увидеть ее в пользовательском интерфейсе. Мы планируем добавить отдельное представление сводки тестов, где она будет видна.

Vitest UIVitest UI

junit ​

Репортер junit размещает аннотации внутри тега properties соответствующего тестового случая. Репортер JUnit игнорирует все прикрепленные файлы и выводит только тип и сообщение.

xml
<testcase classname="basic/example.test.js" name="an example of a test with annotation" time="0.14315">
    <properties>
        <property name="notice" value="the message of the annotation">
        </property>
    </properties>
</testcase>

github-actions ​

Репортер github-actions по умолчанию выводит аннотацию в виде сообщения-уведомления (notice message). Вы можете задать type, передав второй аргумент как notice, warning или error. Если тип не является одним из перечисленных, Vitest покажет сообщение как уведомление.

GitHub ActionsGitHub Actions

tap ​

Репортеры tap и tap-flat отображают аннотации в виде диагностических сообщений, каждое на новой строке, начинающейся с символа #. Они игнорируют все прикрепленные файлы и выводят только тип и сообщение:

ok 1 - an example of a test with annotation # time=143.15ms
    # notice: the message of the annotation
Pager
Предыдущая страницаКонтекст теста
Следующая страницаСреда тестирования

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

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

https://vitest.dev/guide/test-annotations

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

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