Filtrage des tests
Filtrage, délais d'attente, exécution concurrente des suites et des tests
CLI
Vous pouvez utiliser la CLI pour filtrer les fichiers de test par nom :
$ vitest basic
Seuls les fichiers de test contenant basic
dans leur nom 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 nom complet. Cela peut être utile lorsque vous souhaitez filtrer par le nom défini dans un fichier plutôt que par le nom du fichier lui-même.
Spécifier un délai d'attente
Vous pouvez spécifier un délai d'attente en millisecondes comme troisième argument de la fonction test
. La durée par défaut est de 5 secondes.
import { test } from 'vitest';
test('name', async () => {
/* ... */
}, 1000);
Les hooks peuvent aussi spécifier un délai d'attente, avec le même délai par défaut (5 secondes).
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
Ignorer des suites et des tests
Utilisez .skip
pour empêcher l'exécution de certaines suites ou tests.
import { assert, describe, it } from 'vitest';
describe.skip('suite ignorée', () => {
it('test', () => {
// Suite ignorée, aucune erreur
assert.equal(Math.sqrt(4), 3);
});
});
describe('suite', () => {
it.skip('test ignoré', () => {
// Test ignoré, aucune erreur
assert.equal(Math.sqrt(4), 3);
});
});
Sélectionner des suites et des tests à exécuter
Utilisez .only
pour exécuter uniquement certaines suites ou certains tests.
import { assert, describe, it } from 'vitest';
// Seule cette suite (et les autres marquées avec .only) sera exécutée.
describe.only('suite', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('une autre suite', () => {
it('test ignoré', () => {
// Test ignoré, car l'exécution est en mode .only
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Seul ce test (et les autres marqués avec .only) sera exécuté.
assert.equal(Math.sqrt(4), 2);
});
});
Suites et tests non implémentés
Utilisez .todo
pour marquer les suites et les tests comme non implémentés.
import { describe, it } from 'vitest';
// Une entrée sera affichée dans le rapport pour cette suite.
describe.todo('suite non implémentée');
// Une entrée sera affichée dans le rapport pour ce test.
describe('suite', () => {
it.todo('test non implémenté');
});