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

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

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

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

Не удается найти модуль './relative-path' ​

Если вы получаете ошибку "модуль не найден", это может указывать на несколько причин:

    1. Вы указали неверный путь. Убедитесь, что путь верен.
    1. Возможно, вы полагаетесь на baseUrl в вашем tsconfig.json. Vite по умолчанию не учитывает tsconfig.json, поэтому вам может потребоваться установить vite-tsconfig-paths самостоятельно, если вы используете эту функциональность.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

Или измените путь так, чтобы он не был относительным к корню проекта:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Убедитесь, что вы не используете относительные алиасы. Vite рассматривает их как относительные к файлу, из которого производится импорт, а не к корню проекта.
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

Не удалось завершить работу воркера ​

Эта ошибка может возникнуть при использовании fetch из NodeJS с настройкой pool: 'threads' по умолчанию. Эта проблема отслеживается в Timeout abort can leave process(es) running in the background #3077.

В качестве временного решения вы можете переключиться на pool: 'forks' или pool: 'vmForks'.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks

Ошибки сегментации и ошибки нативного кода ​

Запуск нативных модулей NodeJS в pool: 'threads' может привести к загадочным ошибкам нативного кода.

  • Segmentation fault (core dumped)
  • thread '<unnamed>' panicked at 'assertion failed
  • Abort trap: 6
  • internal error: entered unreachable code

В этих случаях нативный модуль, скорее всего, не поддерживает многопоточность. В качестве временного решения вы можете переключиться на pool: 'forks', который запускает тестовые случаи в нескольких node:child_process вместо нескольких node:worker_threads.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
Предыдущая страницаОтладка
Следующая страницаРуководство по миграции

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

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

https://vitest.dev/guide/common-errors

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

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