Filtrování testů
Filtrování, časové omezení a spouštění pouze vybraných sad a testů.
CLI
Pomocí CLI můžete filtrovat testovací soubory podle jejich názvu:
$ vitest basic
Spustí pouze testovací soubory, jejichž název obsahuje řetězec basic
. Například:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
Určení časového limitu
Testům můžete volitelně nastavit časový limit v milisekundách jako třetí argument funkce test
. Výchozí hodnota je 5000 ms (5 sekund).
import { test } from 'vitest';
test('název testu', async () => {
/* ... */
}, 1000);
Funkce pro nastavení před a po testech (hooks) mohou také přijímat časový limit, se stejnou výchozí hodnotou 5000 ms (5 sekund).
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
Přeskakování sad a testů
Použijte .skip
k zabránění spuštění určitých sad nebo testů.
import { assert, describe, it } from 'vitest';
describe.skip('přeskočená sada', () => {
it('test', () => {
// Sada je přeskočena, nedojde k chybě
assert.equal(Math.sqrt(4), 3);
});
});
describe('sada', () => {
it.skip('přeskočený test', () => {
// Test je přeskočen, nedojde k chybě
assert.equal(Math.sqrt(4), 3);
});
});
Výběr sad a testů ke spuštění
Použijte .only
ke spuštění pouze určitých sad nebo testů.
import { assert, describe, it } from 'vitest';
// Spustí se pouze tato sada (a další označené pomocí .only)
describe.only('sada', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('jiná sada', () => {
it('přeskočený test', () => {
// Test je přeskočen, protože testy běží v režimu Only
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Spustí se pouze tento test (a další označené pomocí .only)
assert.equal(Math.sqrt(4), 2);
});
});
Neimplementované sady a testy
Použijte .todo
k vytvoření zástupných položek pro sady a testy, které mají být implementovány.
import { describe, it } from 'vitest';
// V reportu se zobrazí záznam pro tuto sadu
describe.todo('neimplementovaná sada');
// V reportu se zobrazí záznam pro tento test
describe('sada', () => {
it.todo('neimplementovaný test');
});