Skip to content
Vitest 3
Main Navigation Guide & APIConfigurationMode NavigateurAPI avancée
3.2.0
2.1.9
1.6.1
0.34.6

Français

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

Français

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

Apparence

Sidebar Navigation

Introduction

Pourquoi Vitest

Démarrage

Fonctionnalités

Configuration de Vitest

API

Référence de l'API des Tests

Fonctions Mocks

vi

expect

expectTypeOf

assert

assertType

Guide

Interface en ligne de commande (CLI)

Filtrage des tests

Projets de Test

Rapporteurs

Couverture de code

Instantanés

Simulation

Parallélisme

Tests de type

Interface utilisateur de Vitest

Tests in-source

Contexte de test

Annotations de test

Environnement de Test

Étendre les Matchers

Intégrations IDE

Débogage

Erreurs courantes

Guide de migration

Migration vers Vitest 3.0

Migration depuis Jest

Performance

Analyse des performances des tests

Amélioration des performances

Mode Navigateur

API avancée

Comparaison avec d'autres exécuteurs de tests

Sur cette page

Filtrage des tests ​

Filtrage, délais d'expiration et exécution concurrente pour les suites et les tests.

CLI ​

Vous pouvez utiliser la CLI pour filtrer les fichiers de test par nom :

bash
$ vitest basic

Seuls les fichiers de test dont le nom contient basic seront exécutés, par exemple :

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

Vous pouvez également utiliser l'option -t, --testNamePattern <pattern> pour filtrer les tests par leur nom complet. Ceci est utile lorsque vous souhaitez filtrer par le nom défini dans un fichier plutôt que par le nom du fichier lui-même.

Depuis Vitest 3, vous pouvez également spécifier le test par nom de fichier et numéro de ligne :

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

WARNING

Notez que Vitest requiert le chemin complet du fichier pour que cette fonctionnalité fonctionne. Il peut être relatif au répertoire de travail actuel ou un chemin de fichier absolu.

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 # ❌

Actuellement, Vitest ne prend pas non plus en charge les plages de lignes :

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

Spécifier un délai d'expiration ​

Vous pouvez optionnellement passer un délai d'expiration en millisecondes comme troisième argument aux tests. La valeur par défaut est 5 secondes.

ts
import { test } from 'vitest';

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

Les hooks peuvent également recevoir un délai d'expiration, avec la même valeur par défaut de 5 secondes.

ts
import { beforeAll } from 'vitest';

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

Ignorer des suites et des tests ​

Utilisez .skip pour éviter d'exécuter certaines suites ou certains tests :

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

describe.skip('skipped suite', () => {
  it('test', () => {
    // Suite ignorée, aucune erreur
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('suite', () => {
  it.skip('skipped test', () => {
    // Test ignoré, aucune erreur
    assert.equal(Math.sqrt(4), 3);
  });
});

Sélectionner les suites et les tests à exécuter ​

Utilisez .only pour n'exécuter que certaines suites ou certains tests :

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

// Seule cette suite (et les autres marquées avec .only) est exécutée
describe.only('suite', () => {
  it('test', () => {
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('another suite', () => {
  it('skipped test', () => {
    // Test ignoré, car les tests s'exécutent en mode .only
    assert.equal(Math.sqrt(4), 3);
  });

  it.only('test', () => {
    // Seul ce test (et les autres marqués avec .only) est exécuté
    assert.equal(Math.sqrt(4), 2);
  });
});

Suites et tests non implémentés ​

Utilisez .todo pour marquer les suites et les tests qui restent à implémenter :

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

// Une entrée sera affichée dans le rapport pour cette suite
describe.todo('unimplemented suite');

// Une entrée sera affichée dans le rapport pour ce test
describe('suite', () => {
  it.todo('unimplemented test');
});
Pager
Page précédenteInterface en ligne de commande (CLI)
Page suivanteProjets de Test

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/filtering

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team