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 basic
Isso executará apenas os arquivos de teste que contêm basic
, por exemplo:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
Especificando 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');
});