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

Testfilterung ​

Filterung, Timeouts, gleichzeitige Ausführung von Suiten und Tests

CLI ​

Mit der CLI können Sie Testdateien nach Namen filtern:

bash
$ vitest basic

Es werden nur Testdateien ausgeführt, die basic im Namen enthalten, z.B.:

basic.test.ts
basic-foo.test.ts
basic/foo.test.ts

Sie können auch die Option -t, --testNamePattern <pattern> verwenden, um Tests nach ihrem vollständigen Namen zu filtern. Dies ist nützlich, wenn Sie nach dem in der Datei definierten Testnamen statt nach dem Dateinamen selbst filtern möchten.

Seit Vitest 3 können Sie Tests auch nach Dateinamen und Zeilennummer spezifizieren:

bash
$ vitest basic/foo.test.ts:10

WARNING

Beachten Sie, dass Vitest den vollständigen Dateinamen für die korrekte Funktion dieser Funktion benötigt. Dies kann ein relativer Pfad zum aktuellen Arbeitsverzeichnis oder ein absoluter Dateipfad sein.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

Derzeit unterstützt Vitest keine Zeilenbereiche:

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

Timeout angeben ​

Sie können optional einen Timeout in Millisekunden als drittes Argument für Tests übergeben. Der Standardwert ist 5 Sekunden.

ts
import { test } from 'vitest';

test('name', async () => {
  /* ... */
}, 1000);

Hooks können ebenfalls einen Timeout erhalten, wobei der Standardwert ebenfalls 5 Sekunden beträgt.

ts
import { beforeAll } from 'vitest';

beforeAll(async () => {
  /* ... */
}, 1000);

Suiten und Tests überspringen ​

Verwenden Sie .skip, um die Ausführung bestimmter Suiten oder Tests zu überspringen:

ts
import { assert, describe, it } from 'vitest';

describe.skip('skipped suite', () => {
  it('test', () => {
    // Suite übersprungen, kein Fehler
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('suite', () => {
  it.skip('skipped test', () => {
    // Test übersprungen, kein Fehler
    assert.equal(Math.sqrt(4), 3);
  });
});

Suiten und Tests zur Ausführung auswählen ​

Verwenden Sie .only, um nur bestimmte Suiten oder Tests auszuführen:

ts
import { assert, describe, it } from 'vitest';

// Nur diese Suite (und andere mit .only markierte) werden ausgeführt
describe.only('suite', () => {
  it('test', () => {
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('another suite', () => {
  it('skipped test', () => {
    // Test übersprungen, da nur die mit .only markierten Tests ausgeführt werden
    assert.equal(Math.sqrt(4), 3);
  });

  it.only('test', () => {
    // Nur dieser Test (und andere mit .only markierte) werden ausgeführt
    assert.equal(Math.sqrt(4), 2);
  });
});

Nicht implementierte Suiten und Tests ​

Verwenden Sie .todo, um Platzhalter für Suiten und Tests zu erstellen, die noch implementiert werden sollen:

ts
import { describe, it } from 'vitest';

// Ein Eintrag wird im Bericht für diese Suite aufgeführt
describe.todo('unimplemented suite');

// Ein Eintrag wird im Bericht für diesen Test aufgeführt
describe('suite', () => {
  it.todo('unimplemented test');
});
Pager
Vorherige SeiteBefehlszeilenschnittstelle
Nächste SeiteTestprojekte

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/filtering

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team