Filtrando Testes
Filtragem, tempos limite, execução paralela em suítes e testes
CLI
Você pode usar a CLI para filtrar arquivos de teste por nome:
bash
$ vitest basicIsso executará apenas os arquivos de teste que contêm basic, por exemplo:
basic.test.ts
basic-foo.test.ts
basic/foo.test.tsEspecificando um Tempo Limite
Opcionalmente, você pode definir um tempo limite em milissegundos para os testes, passando-o como terceiro argumento. O valor padrão é 5 segundos.
ts
import { test } from 'vitest';
test('name', async () => {
/* ... */
}, 1000);Hooks também podem ter um tempo limite, com o mesmo valor padrão de 5 segundos.
ts
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);Ignorando Suítes e Testes
Use .skip para impedir a execução de determinadas suítes ou testes.
ts
import { assert, describe, it } from 'vitest';
describe.skip('skipped suite', () => {
it('test', () => {
// Suíte ignorada, não gerará erro
assert.equal(Math.sqrt(4), 3);
});
});
describe('suite', () => {
it.skip('skipped test', () => {
// Teste ignorado, não gerará erro
assert.equal(Math.sqrt(4), 3);
});
});Selecionando Suítes e Testes para Execução
Use .only para executar apenas determinadas suítes ou testes.
ts
import { assert, describe, it } from 'vitest';
// Apenas esta suíte (e outras marcadas com only) serão executadas
describe.only('suite', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('another suite', () => {
it('skipped test', () => {
// Teste ignorado, pois os testes estão sendo executados no modo Only.
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Apenas este teste (e outros marcados com only) serão executados
assert.equal(Math.sqrt(4), 2);
});
});Suítes e Testes Não Implementados (Em Desenvolvimento)
Use .todo para marcar suítes e testes como pendentes, indicando que ainda serão implementados.
ts
import { describe, it } from 'vitest';
// Uma entrada será exibida no relatório para esta suíte
describe.todo('unimplemented suite');
// Uma entrada será exibida no relatório para este teste
describe('suite', () => {
it.todo('unimplemented test');
});