Skip to content
Vitest 2
Main Navigation LeitfadenAPIKonfigurationBrowser-ModusFortgeschritten
2.1.9
1.6.1
0.34.6

Deutsch

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

Deutsch

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

Aussehen

Sidebar Navigation

Warum Vitest

Erste Schritte

Features

Arbeitsbereich

Kommandozeilenschnittstelle

Testfilter

Reporter

Codeabdeckung (Coverage)

Snapshot

Mocking

Typen testen

Vitest UI

In-Source-Testing

Testkontext

Testumgebung

Erweiterung von Matchern

IDE-Integration

Debugging

Vergleiche mit anderen Test-Runnern

Migrationsleitfaden

Häufige Fehler

Profiling Test Performance

Leistungsverbesserung

Auf dieser Seite

Häufige Fehler ​

Modul './relative-path' kann nicht gefunden werden ​

Wenn Sie eine Fehlermeldung erhalten, dass ein Modul nicht gefunden werden kann, kann dies mehrere Ursachen haben:

    1. Sie haben den Pfad falsch eingegeben. Stellen Sie sicher, dass der Pfad korrekt ist.
    1. Es ist möglich, dass Sie baseUrl in Ihrer tsconfig.json verwenden. Vite berücksichtigt tsconfig.json standardmäßig nicht. Daher müssen Sie möglicherweise vite-tsconfig-paths selbst installieren, wenn Sie diese Funktionalität nutzen möchten.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

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

Alternativ können Sie Ihren Pfad so ändern, dass er nicht relativ zum Root-Verzeichnis ist:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Stellen Sie sicher, dass Sie keine relativen Aliase verwenden. Vite behandelt diese als relativ zur importierenden Datei und nicht zum Root-Verzeichnis.
ts
import { defineConfig } from 'vitest/config';

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

"./mocked-file.js" kann nicht gemockt werden, da es bereits geladen ist ​

Dieser Fehler tritt auf, wenn die Methode vi.mock auf ein Modul angewendet wird, das bereits geladen wurde. Vitest meldet diesen Fehler, da dieser Aufruf keine Auswirkung hat, weil gecachte Module bevorzugt werden.

Beachten Sie, dass vi.mock immer gehoistet wird – das bedeutet, dass das Modul bereits geladen wurde, bevor die Testdatei ausgeführt wurde – höchstwahrscheinlich in einer Setup-Datei. Um den Fehler zu beheben, entfernen Sie den Import oder leeren Sie den Cache am Ende einer Setup-Datei. Beachten Sie jedoch, dass die Setup-Datei und Ihre Testdatei in diesem Fall auf unterschiedliche Module verweisen werden.

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

Worker konnte nicht beendet werden ​

Dieser Fehler kann auftreten, wenn Node.js' fetch mit dem Standardwert pool: 'threads' verwendet wird. Dieses Problem wird im Issue Timeout abort can leave process(es) running in the background #3077 behandelt.

Als Abhilfe können Sie zu pool: 'forks' oder pool: 'vmForks' wechseln.

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

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

Segmentierungsfehler und native Codefehler ​

Das Ausführen von nativen Node.js-Modulen in pool: 'threads' kann zu kryptischen Fehlern im nativen Code führen.

  • Segmentierungsfehler (Core Dump)
  • thread '<unnamed>' panicked at 'assertion failed
  • Abort trap: 6
  • interner Fehler: unerreichbarer Code erreicht

In diesen Fällen ist das native Modul wahrscheinlich nicht für die Multi-Thread-Sicherheit konzipiert. Als Abhilfe können Sie zu pool: 'forks' wechseln. Dadurch werden die Testfälle in mehreren node:child_process-Instanzen anstelle von mehreren node:worker_threads-Instanzen ausgeführt.

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

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
Vorherige SeiteMigrationsleitfaden
Nächste SeiteProfiling Test Performance

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors

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

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors