Filtrage des Tests
Filtrage, délais d’attente, exécution simultanée pour les suites et tests
CLI
Vous pouvez utiliser la CLI pour filtrer les fichiers de test par nom :
$ vitest basic
Cela n’exécutera que les fichiers de test qui contiennent basic
, par exemple :
basic.test.tsbasic-foo.test.tsbasic/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 en option passer un délai d’attente en millisecondes en tant que troisième argument aux tests. La valeur par défaut est de 5 secondes.
import { test } from 'vitest'
test('nom', async () => { /* ... */ }, 1000)
Les hooks peuvent également recevoir un délai d’attente, avec la même valeur par défaut de 5 secondes.
import { beforeAll } from 'vitest'
beforeAll(async () => { /* ... */ }, 1000)
Ignorer des Suites et Tests
Utilisez .skip
pour éviter d’exécuter certaines suites ou tests
import { assert, describe, it } from 'vitest'
describe.skip('suite ignorée', () => { it('test', () => { // Suite ignorée, pas d'erreur assert.equal(Math.sqrt(4), 3) })})
describe('suite', () => { it.skip('test ignoré', () => { // Test ignoré, pas d'erreur assert.equal(Math.sqrt(4), 3) })})
Sélectionner les Suites et Tests à Exécuter
Utilisez .only
pour n’exécuter que certaines suites ou tests
import { assert, describe, it } from 'vitest'
// Seule cette suite (et d'autres marquées avec only) sont exécutéesdescribe.only('suite', () => { it('test', () => { assert.equal(Math.sqrt(4), 3) })})
describe('autre suite', () => { it('test ignoré', () => { // Test ignoré, car les tests sont exécutés en mode Only assert.equal(Math.sqrt(4), 3) })
it.only('test', () => { // Seul ce test (et d'autres marqués avec only) sont exécutés assert.equal(Math.sqrt(4), 2) })})
Suites et Tests Non Implémentés
Utilisez .todo
pour stub des suites et tests qui devraient être implémentés
import { describe, it } from 'vitest'
// Une entrée sera affichée dans le rapport pour cette suitedescribe.todo('suite non implémentée')
// Une entrée sera affichée dans le rapport pour ce testdescribe('suite', () => { it.todo('test non implémenté')})