Filtrowanie Testów
Filtrowanie testów, limity czasu i współbieżność dla zestawów oraz testów.
CLI
Możesz użyć interfejsu linii poleceń (CLI) do filtrowania plików testowych po nazwie:
$ vitest basic
Spowoduje to uruchomienie tylko tych plików testowych, które zawierają ciąg znaków basic
w nazwie, np.:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
Określanie Limitu Czasu (Timeout)
Możesz opcjonalnie przekazać limit czasu w milisekundach jako trzeci argument do funkcji testującej. Domyślny limit czasu wynosi 5 sekund.
import { test } from 'vitest';
test('nazwa testu', async () => {
/* ... */
}, 1000);
Funkcje hook (np. beforeAll
, afterEach
) również mogą przyjmować limit czasu, z domyślną wartością 5 sekund.
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
Pomijanie Zestawów i Testów
Użyj .skip
, aby pominąć uruchamianie wybranych zestawów lub testów.
import { assert, describe, it } from 'vitest';
describe.skip('pominięty zestaw', () => {
it('test', () => {
// Zestaw został pominięty, więc ten test nie zostanie wykonany i nie spowoduje błędu.
assert.equal(Math.sqrt(4), 3);
});
});
describe('zestaw', () => {
it.skip('pominięty test', () => {
// Test został pominięty, więc nie zostanie wykonany i nie spowoduje błędu.
assert.equal(Math.sqrt(4), 3);
});
});
Wybieranie Zestawów i Testów do Uruchomienia
Użyj .only
, aby uruchomić tylko wybrane zestawy lub testy.
import { assert, describe, it } from 'vitest';
// Tylko ten zestaw (i inne oznaczone jako .only) zostaną uruchomione.
describe.only('zestaw', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('inny zestaw', () => {
it('pominięty test', () => {
// Test został pominięty, ponieważ testy są uruchamiane w trybie .only.
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Tylko ten test (i inne oznaczone jako .only) zostaną uruchomione.
assert.equal(Math.sqrt(4), 2);
});
});
Niezaimplementowane Zestawy i Testy
Użyj .todo
, aby oznaczyć zestawy i testy jako niezaimplementowane.
import { describe, it } from 'vitest';
// W raporcie zostanie wyświetlony wpis dla tego zestawu.
describe.todo('niezaimplementowany zestaw');
// W raporcie zostanie wyświetlony wpis dla tego testu.
describe('zestaw', () => {
it.todo('niezaimplementowany test');
});