Skip to content
Vitest 3
Main Navigation Guia & APIConfiguraçãoModo NavegadorAPI Avançada
3.2.0
2.1.9
1.6.1
0.34.6

Português – Brasil

English
简体中文
繁體中文
Español
Français
Русский
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Português – Brasil

English
简体中文
繁體中文
Español
Français
Русский
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Aparência

Sidebar Navigation

Introdução

Por que Vitest

Primeiros Passos

Recursos

Configurando o Vitest

API

Referência da API de Teste

Funções Mock

Vi

expect

expectTypeOf

assert

assertType

Guia

Interface de Linha de Comando

Filtragem de Testes

Projetos de Teste

Reporters

Cobertura

Snapshot

Mocking

Paralelismo

Testando Tipos

Vitest UI

Testes no Código-Fonte

Contexto de Testes

Anotações em Testes

Ambiente de Teste

Estendendo Matchers

Integrações com IDEs

Depuração

Erros Comuns

Guia de Migração

Migrando para o Vitest 3.0

Migrando do Jest

Desempenho

Análise de Desempenho de Testes

Melhorando o Desempenho

Modo Navegador

APIs Avançadas

Comparações com Outros Test Runners

Nesta página

Filtragem de Testes ​

Filtragem, timeouts e execução concorrente para suítes e testes.

CLI ​

Você pode usar a CLI para filtrar arquivos de teste pelo 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

Você também pode usar a opção -t, --testNamePattern <pattern> para filtrar testes pelo nome completo. Isso pode ser útil quando você deseja filtrar pelo nome definido dentro de um arquivo, em vez do nome do arquivo.

A partir do Vitest 3, você também pode especificar o teste pelo nome do arquivo e número da linha:

bash
$ vitest basic/foo.test.ts:10

WARNING

Observe que o Vitest requer o nome completo do arquivo para que esse recurso funcione. Pode ser um caminho relativo ao diretório de trabalho atual ou um caminho de arquivo absoluto.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

Atualmente, o Vitest não suporta intervalos de linhas:

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

Especificando um Timeout ​

Você pode, opcionalmente, definir um timeout em milissegundos como um terceiro argumento para os testes. O padrão é 5 segundos.

ts
import { test } from 'vitest';

test('name', async () => {
  /* ... */
}, 1000);

Hooks também podem aceitar um timeout, com o mesmo limite padrão de 5 segundos.

ts
import { beforeAll } from 'vitest';

beforeAll(async () => {
  /* ... */
}, 1000);

Ignorando Suítes e Testes ​

Use .skip para evitar a execução de certas suítes ou testes.

ts
import { assert, describe, it } from 'vitest';

describe.skip('skipped suite', () => {
  it('test', () => {
    // Suíte ignorada, sem erro
    assert.equal(Math.sqrt(4), 3);
  });
});

describe('suite', () => {
  it.skip('skipped test', () => {
    // Teste ignorado, sem erro
    assert.equal(Math.sqrt(4), 3);
  });
});

Selecionando Suítes e Testes para Executar ​

Use .only para executar apenas certas 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 ​

Use .todo para marcar suítes e testes que precisam ser 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');
});
Pager
AnteriorInterface de Linha de Comando
PróximoProjetos de Teste

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/filtering

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team