Skip to content
Vitest 3
Main Navigation Przewodnik & APIKonfiguracjaTryb przeglądarkiZaawansowane API
3.2.0
2.1.9
1.6.1
0.34.6

Polski

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Türkçe
čeština
magyar

Polski

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Türkçe
čeština
magyar

Wygląd

Sidebar Navigation

Wprowadzenie

Dlaczego Vitest

Pierwsze kroki

Funkcje

Konfiguracja Vitest

API

Dokumentacja API testowego

Funkcje Mock

Vi

expect

expectTypeOf

assert

assertType

Przewodnik

Interfejs Wiersza Poleceń

Filtrowanie testów

Projekty testowe

Reportery

Pokrycie kodu

Migawki

Mockowanie

Równoległość

Typy testów

Interfejs użytkownika Vitest

Testy w kodzie źródłowym

Kontekst Testu

Adnotacje testowe

Środowisko testowe

Rozszerzanie matcherów

Integracje z IDE

Debugowanie

Typowe błędy

Przewodnik migracji

Migracja do Vitest 3.0

Migracja z Jest

Wydajność

Profilowanie wydajności testów

Poprawa wydajności

Tryb przeglądarkowy

Zaawansowane API

Porównania z innymi narzędziami do uruchamiania testów

Na tej stronie

Typowe błędy ​

Nie można znaleźć modułu './relative-path' ​

Jeśli napotkasz błąd informujący o niemożności znalezienia modułu, może to wynikać z kilku przyczyn:

    1. Podano nieprawidłową ścieżkę. Upewnij się, że ścieżka jest poprawna.
    1. Używasz baseUrl w swoim tsconfig.json. Vite domyślnie nie uwzględnia tsconfig.json, dlatego jeśli korzystasz z tej funkcji, może być konieczne samodzielne zainstalowanie vite-tsconfig-paths.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

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

Alternatywnie, zmień ścieżkę tak, aby nie była względna do katalogu głównego projektu:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Upewnij się, że nie masz względnych aliasów. Vite traktuje je jako względne do pliku, w którym dokonujesz importu, a nie do katalogu głównego projektu.
ts
import { defineConfig } from 'vitest/config';

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

Niepowodzenie zakończenia workera ​

Ten błąd może wystąpić, gdy używasz fetch z NodeJS przy domyślnym ustawieniu pool: 'threads'. Problem ten jest monitorowany w zgłoszeniu Timeout abort can leave process(es) running in the background #3077.

Aby obejść ten problem, możesz przełączyć się na pool: 'forks' lub pool: 'vmForks'.

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

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

Błędy segmentacji i błędy kodu natywnego ​

Uruchamianie natywnych modułów NodeJS w trybie pool: 'threads' może prowadzić do niejasnych błędów generowanych przez kod natywny.

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

W takich przypadkach moduł natywny prawdopodobnie nie jest zbudowany w sposób bezpieczny dla wielu wątków. Aby obejść ten problem, możesz przełączyć się na pool: 'forks', który wykonuje testy w wielu procesach node:child_process zamiast w wielu node:worker_threads.

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

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
Poprzednia stronaDebugowanie
Następna stronaPrzewodnik migracji

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

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

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team