Skip to content
Vitest 3
Main Navigation Leitfaden & APIKonfigurationBrowser-ModusFortgeschritten API
3.2.0
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

Einführung

Warum Vitest

Erste Schritte

Funktionen

Vitest konfigurieren

API

Test-API-Referenz

Mock-Funktionen

Vi

expect

expectTypeOf

assert

assertType

Leitfaden

Befehlszeilenschnittstelle

Testfilterung

Testprojekte

Reporter

Code-Abdeckung

Snapshot

Mocking

Parallelisierung

Typüberprüfungen

Vitest UI

Tests im Quellcode

Test-Kontext

Test-Annotationen

Testumgebung

Matcher erweitern

IDE-Integrationen

Debugging

Häufige Fehler

Migrationsleitfaden

Migration zu Vitest 3.0

Migration von Jest

Performance

Leistungsprofilierung von Tests

Leistung verbessern

Browser-Modus

Erweiterte API

Vergleiche mit anderen Test-Runnern

Auf dieser Seite

Parallelisierung ​

Dateiparallelisierung ​

Standardmäßig führt Vitest Testdateien parallel aus. Je nach konfiguriertem pool verwendet Vitest einen anderen Mechanismus zur Parallelisierung von Testdateien:

  • forks (der Standard) und vmForks führen Tests in separaten Child-Prozessen aus.
  • threads und vmThreads führen Tests in separaten Worker-Threads aus.

Sowohl "Child-Prozesse" als auch "Worker-Threads" werden allgemein als "Worker" bezeichnet. Sie können die Anzahl der gleichzeitig laufenden Worker mit den Optionen minWorkers und maxWorkers konfigurieren. Eine granularere Steuerung ist über die Konfiguration poolOptions möglich.

Bei einer großen Anzahl von Tests ist die parallele Ausführung in der Regel schneller, dies hängt jedoch auch vom Projekt, der Umgebung und dem Isolationszustand ab. Um die Dateiparallelisierung zu deaktivieren, können Sie fileParallelism auf false setzen. Weitere Informationen zu möglichen Leistungsverbesserungen finden Sie im Performance Guide.

Testparallelisierung ​

Im Gegensatz zur Parallelisierung von Testdateien führt Vitest Tests innerhalb einer einzelnen Testdatei sequenziell aus. Das bedeutet, dass Tests in der Reihenfolge ausgeführt werden, in der sie definiert sind.

Vitest unterstützt die Option concurrent, um Tests innerhalb einer Datei gleichzeitig auszuführen. Wenn diese Option gesetzt ist, gruppiert Vitest konkurrierende Tests in derselben Datei (die Anzahl der gleichzeitig laufenden Tests hängt von der Option maxConcurrency ab) und führt sie mit Promise.all aus.

Vitest führt keine intelligente Analyse durch und erstellt keine zusätzlichen Worker, um diese Tests auszuführen. Das bedeutet, dass sich die Leistung Ihrer Tests nur dann verbessert, wenn sie stark von asynchronen Operationen abhängen. Zum Beispiel werden die folgenden Tests immer noch nacheinander ausgeführt, obwohl die Option concurrent angegeben ist, da sie synchron sind:

ts
test.concurrent('the first test', () => {
  expect(1).toBe(1);
});

test.concurrent('the second test', () => {
  expect(2).toBe(2);
});

Wenn Sie alle Tests innerhalb einer Datei standardmäßig gleichzeitig ausführen möchten, können Sie die Option sequence.concurrent auf true setzen.

Pager
Vorherige SeiteMocking
Nächste SeiteTypüberprüfungen

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/parallelism

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team