Skip to content
Vitest 1
Main Navigation LeitfadenAPIKonfigurationFortgeschritten
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

Leitfaden

Warum Vitest

Erste Schritte

Features

Arbeitsbereich

Kommandozeilenschnittstelle

Testfilter

Reporter

Codeabdeckung (Coverage)

Snapshot

Mocking

Typen testen

Vitest UI

Browser-Modus

In-Source-Testing

Testkontext

Testumgebung

Erweiterung von Matchern

IDE-Integration

Debugging

Vergleiche mit anderen Test-Runnern

Migrationsleitfaden

Häufige Fehler

Leistungsverbesserung

API

Test API Referenz

Mock-Funktionen

Vi

expect

expectTypeOf

assert

assertType

Konfiguration

Verwaltung der Vitest-Konfigurationsdatei

Vitest konfigurieren

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 verschiedene Ursachen haben:

    1. Der Pfad ist möglicherweise falsch. Überprüfen Sie die Schreibweise und stellen Sie sicher, dass der Pfad korrekt ist.
    1. Möglicherweise verwenden Sie baseUrl in Ihrer tsconfig.json. Vite berücksichtigt die tsconfig.json standardmäßig nicht. Installieren Sie daher vite-tsconfig-paths, falls Sie auf dieses Verhalten angewiesen sind.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

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

Alternativ können Sie den Pfad so anpassen, dass er relativ zum aktuellen 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 relativ zu der Datei, in der der Import erfolgt, und nicht relativ zum Projektstammverzeichnis.
ts
import { defineConfig } from 'vitest/config';

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

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

Dieser Fehler tritt auf, wenn die vi.mock-Methode für ein Modul aufgerufen wird, das bereits geladen wurde. Vitest wirft diesen Fehler, da dieser Aufruf keine Wirkung hat, da zwischengespeicherte Module bevorzugt werden.

Denken Sie daran, dass vi.mock immer "gehoisted" wird - das bedeutet, dass das Modul geladen wurde, bevor die Testdatei mit der Ausführung begann - 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.

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

sideEffect();

vi.resetModules();

Fehler beim Beenden des Workers ​

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

Als Workaround können Sie auf pool: 'forks' oder pool: 'vmForks' umsteigen.

Geben Sie pool in Ihrer Konfigurationsdatei an:

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

export default defineConfig({
  test: {
    pool: 'forks',
  },
});

Oder in Ihren package.json-Skripten:

diff
scripts: {
-  "test": "vitest"
+  "test": "vitest --pool=forks"
}
Pager
Vorherige SeiteMigrationsleitfaden
Nächste SeiteLeistungsverbesserung

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors

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

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2024 Mithril Contributors