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

Interface de Linha de Comando ​

Comandos ​

vitest ​

Inicia o Vitest no diretório atual. Ele entrará automaticamente no modo de observação (watch mode) em ambientes de desenvolvimento e no modo de execução em CI (ou terminais não interativos).

Você pode passar um argumento adicional para filtrar os arquivos de teste a serem executados. Por exemplo:

bash
vitest foobar

Este comando executará apenas os arquivos de teste cujo caminho contenha foobar. Este filtro verifica apenas a inclusão e não suporta expressões regulares ou padrões globais (a menos que seu terminal os processe antes que o Vitest receba o filtro).

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

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

WARNING

Observe que o Vitest requer o nome de arquivo completo para que este recurso funcione. O caminho pode ser 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 # ❌

vitest run ​

Realiza uma única execução dos testes, sem o modo de observação.

vitest watch ​

Executa todas as suítes de testes, mas observa as alterações e as executa novamente quando os arquivos são modificados. É o mesmo que chamar vitest sem argumentos. Em ambientes de CI ou quando o stdin não for um TTY (ambiente não interativo), ele recorrerá a vitest run.

vitest dev ​

Um alias para vitest watch.

vitest related ​

Executa apenas os testes que cobrem uma lista de arquivos-fonte. Funciona com importações estáticas (por exemplo, import('./index.js') ou import index from './index.js'), mas não com importações dinâmicas (por exemplo, import(filepath)). Todos os arquivos devem ser relativos ao diretório raiz.

Útil para uso com lint-staged ou em sua configuração de CI.

bash
vitest related /src/index.ts /src/hello-world.js

TIP

Lembre-se de que o Vitest é executado com o modo de observação ativado por padrão. Se você estiver usando ferramentas como lint-staged, também deve passar a opção --run para que o comando possa ser encerrado normalmente.

js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

Executa apenas testes de benchmark, que comparam resultados de desempenho.

vitest init ​

vitest init <name> pode ser usado para configurar o projeto. Atualmente, ele suporta apenas o valor browser:

bash
vitest init browser

vitest list ​

O comando vitest list herda todas as opções de vitest para imprimir a lista de todos os testes correspondentes. Este comando ignora a opção reporters. Por padrão, ele imprimirá os nomes de todos os testes que correspondem ao filtro de arquivo e ao padrão de nome:

shell
vitest list filename.spec.ts -t="some-test"
txt
describe > some-test
describe > some-test > test 1
describe > some-test > test 2

Você pode passar a flag --json para imprimir os testes em formato JSON ou salvá-los em um arquivo separado:

bash
vitest list filename.spec.ts -t="some-test" --json=./file.json

Se a flag --json não receber um valor, ela imprimirá o JSON para o stdout.

Você também pode passar a flag --filesOnly para imprimir apenas os arquivos de teste:

bash
vitest list --filesOnly
txt
tests/test1.test.ts
tests/test2.test.ts

Opções ​

TIP

O Vitest suporta tanto camel case quanto kebab case para argumentos da CLI. Por exemplo, --passWithNoTests e --pass-with-no-tests funcionarão (--no-color e --inspect-brk são as exceções).

O Vitest também suporta diferentes maneiras de especificar o valor: --reporter dot e --reporter=dot são ambos válidos.

Se uma opção suporta um array de valores, você precisa passar a opção várias vezes:

vitest --reporter=dot --reporter=default

Opções booleanas podem ser negadas com o prefixo no-. Também é possível especificar o valor como false:

vitest --no-api
vitest --api=false

root ​

  • CLI: -r, --root <path>
  • Config: root

Caminho raiz do projeto.

config ​

  • CLI: -c, --config <path>

Caminho para o arquivo de configuração.

update ​

  • CLI: -u, --update
  • Config: update

Atualizar snapshots.

watch ​

  • CLI: -w, --watch
  • Config: watch

Habilitar o modo de monitoramento (watch mode).

testNamePattern ​

  • CLI: -t, --testNamePattern <pattern>
  • Config: testNamePattern

Executar testes cujos nomes correspondam ao padrão de expressão regular (regex) especificado.

dir ​

  • CLI: --dir <path>
  • Config: dir

Diretório base para escanear arquivos de teste.

ui ​

  • CLI: --ui
  • Config: ui

Habilitar a interface de usuário (UI).

open ​

  • CLI: --open
  • Config: open

Abrir a UI automaticamente (padrão: !process.env.CI).

api.port ​

  • CLI: --api.port [port]

Especifica a porta do servidor. Se a porta já estiver em uso, o Vitest tentará automaticamente a próxima porta disponível, portanto, esta pode não ser a porta real em que o servidor acabará escutando. Se definido como true, será configurado para 51204.

api.host ​

  • CLI: --api.host [host]

Especifica em quais endereços IP o servidor deve escutar. Defina como 0.0.0.0 ou true para escutar em todos os endereços, incluindo LAN e endereços públicos.

api.strictPort ​

  • CLI: --api.strictPort

Se definido como true, o Vitest será encerrado se a porta já estiver em uso, em vez de tentar automaticamente a próxima porta disponível.

silent ​

  • CLI: --silent [value]
  • Config: silent

Silenciar a saída do console durante os testes. Use 'passed-only' para ver os logs apenas dos testes que falharam.

hideSkippedTests ​

  • CLI: --hideSkippedTests

Ocultar logs de testes ignorados.

reporters ​

  • CLI: --reporter <name>
  • Config: reporters

Especificar os reporters (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).

outputFile ​

  • CLI: --outputFile <filename/-s>
  • Config: outputFile

Escrever os resultados do teste em um arquivo quando um reporter suportado também for especificado. Use a notação de ponto do cac para saídas individuais de múltiplos reporters (exemplo: --outputFile.tap=./tap.txt).

coverage.all ​

  • CLI: --coverage.all
  • Config: coverage.all

Define se todos os arquivos, incluindo os não testados, devem ser incluídos no relatório de cobertura.

coverage.provider ​

  • CLI: --coverage.provider <name>
  • Config: coverage.provider

Selecionar a ferramenta para coleta de cobertura. Os valores disponíveis são: "v8", "istanbul" e "custom".

coverage.enabled ​

  • CLI: --coverage.enabled
  • Config: coverage.enabled

Habilita a coleta de cobertura. Pode ser sobrescrito usando a opção CLI --coverage (padrão: false).

coverage.include ​

  • CLI: --coverage.include <pattern>
  • Config: coverage.include

Arquivos incluídos na cobertura como padrões glob. Pode ser especificado mais de uma vez ao usar múltiplos padrões (padrão: **).

coverage.exclude ​

  • CLI: --coverage.exclude <pattern>
  • Config: coverage.exclude

Arquivos a serem excluídos da cobertura. Pode ser especificado mais de uma vez ao usar múltiplos padrões (padrão: consulte coverage.exclude).

coverage.extension ​

  • CLI: --coverage.extension <extension>
  • Config: coverage.extension

Extensões de arquivo a serem incluídas na cobertura. Pode ser especificada mais de uma vez ao usar múltiplas extensões (padrão: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]).

coverage.clean ​

  • CLI: --coverage.clean
  • Config: coverage.clean

Limpar resultados de cobertura antes de executar os testes (padrão: true).

coverage.cleanOnRerun ​

  • CLI: --coverage.cleanOnRerun
  • Config: coverage.cleanOnRerun

Limpar relatório de cobertura ao reexecutar no modo de observação (padrão: true).

coverage.reportsDirectory ​

  • CLI: --coverage.reportsDirectory <path>
  • Config: coverage.reportsDirectory

Diretório para escrever o relatório de cobertura (padrão: ./coverage).

coverage.reporter ​

  • CLI: --coverage.reporter <name>
  • Config: coverage.reporter

Reporters de cobertura a serem usados. Visite coverage.reporter para mais informações (padrão: ["text", "html", "clover", "json"]).

coverage.reportOnFailure ​

  • CLI: --coverage.reportOnFailure
  • Config: coverage.reportOnFailure

Gerar relatório de cobertura mesmo quando os testes falham (padrão: false).

coverage.allowExternal ​

  • CLI: --coverage.allowExternal
  • Config: coverage.allowExternal

Coletar cobertura de arquivos fora da raiz do projeto (padrão: false).

coverage.skipFull ​

  • CLI: --coverage.skipFull
  • Config: coverage.skipFull

Não mostrar arquivos com 100% de cobertura de declarações, branches e funções (padrão: false).

coverage.thresholds.100 ​

  • CLI: --coverage.thresholds.100
  • Config: coverage.thresholds.100

Atalho para definir todos os limites de cobertura para 100% (padrão: false).

coverage.thresholds.perFile ​

  • CLI: --coverage.thresholds.perFile
  • Config: coverage.thresholds.perFile

Verificar limites por arquivo. Consulte --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches e --coverage.thresholds.statements para os limites reais (padrão: false).

coverage.thresholds.autoUpdate ​

  • CLI: --coverage.thresholds.autoUpdate
  • Config: coverage.thresholds.autoUpdate

Atualizar os valores de limite: "lines", "functions", "branches" e "statements" no arquivo de configuração quando a cobertura atual estiver acima dos limites configurados (padrão: false).

coverage.thresholds.lines ​

  • CLI: --coverage.thresholds.lines <number>

Limite para linhas. Visite istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.

coverage.thresholds.functions ​

  • CLI: --coverage.thresholds.functions <number>

Limite para funções. Visite istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.

coverage.thresholds.branches ​

  • CLI: --coverage.thresholds.branches <number>

Limite para branches. Visite istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.

coverage.thresholds.statements ​

  • CLI: --coverage.thresholds.statements <number>

Limite para declarações. Visite istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.

coverage.ignoreClassMethods ​

  • CLI: --coverage.ignoreClassMethods <name>
  • Config: coverage.ignoreClassMethods

Array de nomes de métodos de classe a serem ignorados para cobertura. Visite istanbuljs para mais informações. Esta opção está disponível apenas para os provedores do Istanbul (padrão: []).

coverage.processingConcurrency ​

  • CLI: --coverage.processingConcurrency <number>
  • Config: coverage.processingConcurrency

Limite de concorrência usado ao processar os resultados da cobertura (padrão: o menor valor entre 20 e o número de CPUs).

coverage.customProviderModule ​

  • CLI: --coverage.customProviderModule <path>
  • Config: coverage.customProviderModule

Especifica o nome do módulo ou caminho para o módulo do provedor de cobertura personalizado. Visite Custom Coverage Provider para mais informações. Esta opção está disponível apenas para provedores personalizados.

coverage.watermarks.statements ​

  • CLI: --coverage.watermarks.statements <watermarks>

Marcas d'água alta e baixa para declarações no formato de <high>,<low>.

coverage.watermarks.lines ​

  • CLI: --coverage.watermarks.lines <watermarks>

Marcas d'água alta e baixa para linhas no formato de <high>,<low>.

coverage.watermarks.branches ​

  • CLI: --coverage.watermarks.branches <watermarks>

Marcas d'água alta e baixa para branches no formato de <high>,<low>.

coverage.watermarks.functions ​

  • CLI: --coverage.watermarks.functions <watermarks>

Marcas d'água alta e baixa para funções no formato de <high>,<low>.

mode ​

  • CLI: --mode <name>
  • Config: mode

Sobrescrever o modo Vite (padrão: test ou benchmark).

workspace ​

  • CLI: --workspace <path>
  • Config: workspace

[Obsoleto] Caminho para um arquivo de configuração de workspace.

isolate ​

  • CLI: --isolate
  • Config: isolate

Executar cada arquivo de teste isoladamente. Para desabilitar o isolamento, use --no-isolate (padrão: true).

globals ​

  • CLI: --globals
  • Config: globals

Injetar APIs globalmente.

dom ​

  • CLI: --dom

Simular API do navegador com happy-dom.

browser.enabled ​

  • CLI: --browser.enabled
  • Config: browser.enabled

Executar testes no navegador (padrão: false).

browser.name ​

  • CLI: --browser.name <name>
  • Config: browser.name

Executar todos os testes em um navegador específico. Alguns navegadores estão disponíveis apenas para provedores específicos (veja --browser.provider). Visite browser.name para mais informações.

browser.headless ​

  • CLI: --browser.headless
  • Config: browser.headless

Executar o navegador em modo headless (ou seja, sem abrir a Interface Gráfica do Usuário (GUI)). Se você estiver executando o Vitest em CI, ele será habilitado por padrão (padrão: process.env.CI).

browser.api.port ​

  • CLI: --browser.api.port [port]
  • Config: browser.api.port

Especifica a porta do servidor. Se a porta já estiver em uso, o Vitest tentará automaticamente a próxima porta disponível, portanto, esta pode não ser a porta real em que o servidor acabará escutando. Se definido como true, será configurado para 63315.

browser.api.host ​

  • CLI: --browser.api.host [host]
  • Config: browser.api.host

Especifica em quais endereços IP o servidor deve escutar. Defina como 0.0.0.0 ou true para escutar em todos os endereços, incluindo LAN e endereços públicos.

browser.api.strictPort ​

  • CLI: --browser.api.strictPort
  • Config: browser.api.strictPort

Se definido como true, o Vitest será encerrado se a porta já estiver em uso, em vez de tentar automaticamente a próxima porta disponível.

browser.provider ​

  • CLI: --browser.provider <name>
  • Config: browser.provider

Provedor usado para executar testes de navegador. Alguns navegadores estão disponíveis apenas para provedores específicos. Pode ser "webdriverio", "playwright", "preview" ou o caminho para um provedor personalizado. Visite browser.provider para mais informações (padrão: "preview").

browser.providerOptions ​

  • CLI: --browser.providerOptions <options>
  • Config: browser.providerOptions

Opções que são passadas para um provedor de navegador. Visite browser.providerOptions para mais informações.

browser.isolate ​

  • CLI: --browser.isolate
  • Config: browser.isolate

Executar cada arquivo de teste do navegador isoladamente. Para desabilitar o isolamento, use --browser.isolate=false (padrão: true).

browser.ui ​

  • CLI: --browser.ui
  • Config: browser.ui

Mostrar a UI do Vitest ao executar testes (padrão: !process.env.CI).

browser.fileParallelism ​

  • CLI: --browser.fileParallelism
  • Config: browser.fileParallelism

Define se os arquivos de teste do navegador devem ser executados em paralelo. Use --browser.fileParallelism=false para desabilitar (padrão: true).

browser.connectTimeout ​

  • CLI: --browser.connectTimeout <timeout>
  • Config: browser.connectTimeout

Se a conexão com o navegador exceder o tempo limite, os testes falharão (padrão: 60_000).

pool ​

  • CLI: --pool <pool>
  • Config: pool

Especificar o pool, se não estiver executando no navegador (padrão: forks).

poolOptions.threads.isolate ​

  • CLI: --poolOptions.threads.isolate
  • Config: poolOptions.threads.isolate

Isolar testes no pool de threads (padrão: true).

poolOptions.threads.singleThread ​

  • CLI: --poolOptions.threads.singleThread
  • Config: poolOptions.threads.singleThread

Executar testes em uma única thread (padrão: false).

poolOptions.threads.maxThreads ​

  • CLI: --poolOptions.threads.maxThreads <workers>
  • Config: poolOptions.threads.maxThreads

Número máximo ou porcentagem de threads para executar testes.

poolOptions.threads.minThreads ​

  • CLI: --poolOptions.threads.minThreads <workers>
  • Config: poolOptions.threads.minThreads

Número mínimo ou porcentagem de threads para executar testes.

poolOptions.threads.useAtomics ​

  • CLI: --poolOptions.threads.useAtomics
  • Config: poolOptions.threads.useAtomics

Usar Atomics para sincronizar threads. Isso pode melhorar o desempenho em alguns casos, mas pode causar segfault (falha de segmentação) em versões mais antigas do Node (padrão: false).

poolOptions.vmThreads.isolate ​

  • CLI: --poolOptions.vmThreads.isolate
  • Config: poolOptions.vmThreads.isolate

Isolar testes no pool de threads (padrão: true).

poolOptions.vmThreads.singleThread ​

  • CLI: --poolOptions.vmThreads.singleThread
  • Config: poolOptions.vmThreads.singleThread

Executar testes em uma única thread (padrão: false).

poolOptions.vmThreads.maxThreads ​

  • CLI: --poolOptions.vmThreads.maxThreads <workers>
  • Config: poolOptions.vmThreads.maxThreads

Número máximo ou porcentagem de threads para executar testes.

poolOptions.vmThreads.minThreads ​

  • CLI: --poolOptions.vmThreads.minThreads <workers>
  • Config: poolOptions.vmThreads.minThreads

Número mínimo ou porcentagem de threads para executar testes.

poolOptions.vmThreads.useAtomics ​

  • CLI: --poolOptions.vmThreads.useAtomics
  • Config: poolOptions.vmThreads.useAtomics

Usar Atomics para sincronizar threads. Isso pode melhorar o desempenho em alguns casos, mas pode causar segfault (falha de segmentação) em versões mais antigas do Node (padrão: false).

poolOptions.vmThreads.memoryLimit ​

  • CLI: --poolOptions.vmThreads.memoryLimit <limit>
  • Config: poolOptions.vmThreads.memoryLimit

Limite de memória para o pool de threads VM. Se você observar vazamentos de memória, tente ajustar este valor.

poolOptions.forks.isolate ​

  • CLI: --poolOptions.forks.isolate
  • Config: poolOptions.forks.isolate

Isolar testes no pool de forks (padrão: true).

poolOptions.forks.singleFork ​

  • CLI: --poolOptions.forks.singleFork
  • Config: poolOptions.forks.singleFork

Executar testes em um único child_process (padrão: false).

poolOptions.forks.maxForks ​

  • CLI: --poolOptions.forks.maxForks <workers>
  • Config: poolOptions.forks.maxForks

Número máximo ou porcentagem de processos para executar testes.

poolOptions.forks.minForks ​

  • CLI: --poolOptions.forks.minForks <workers>
  • Config: poolOptions.forks.minForks

Número mínimo ou porcentagem de processos para executar testes.

poolOptions.vmForks.isolate ​

  • CLI: --poolOptions.vmForks.isolate
  • Config: poolOptions.vmForks.isolate

Isolar testes no pool de forks (padrão: true).

poolOptions.vmForks.singleFork ​

  • CLI: --poolOptions.vmForks.singleFork
  • Config: poolOptions.vmForks.singleFork

Executar testes em um único child_process (padrão: false).

poolOptions.vmForks.maxForks ​

  • CLI: --poolOptions.vmForks.maxForks <workers>
  • Config: poolOptions.vmForks.maxForks

Número máximo ou porcentagem de processos para executar testes.

poolOptions.vmForks.minForks ​

  • CLI: --poolOptions.vmForks.minForks <workers>
  • Config: poolOptions.vmForks.minForks

Número mínimo ou porcentagem de processos para executar testes.

poolOptions.vmForks.memoryLimit ​

  • CLI: --poolOptions.vmForks.memoryLimit <limit>
  • Config: poolOptions.vmForks.memoryLimit

Limite de memória para o pool de forks VM. Se você observar vazamentos de memória, tente ajustar este valor.

fileParallelism ​

  • CLI: --fileParallelism
  • Config: fileParallelism

Define se todos os arquivos de teste devem ser executados em paralelo. Use --no-file-parallelism para desabilitar (padrão: true).

maxWorkers ​

  • CLI: --maxWorkers <workers>
  • Config: maxWorkers

Número máximo ou porcentagem de workers para executar testes.

minWorkers ​

  • CLI: --minWorkers <workers>
  • Config: minWorkers

Número mínimo ou porcentagem de workers para executar testes.

environment ​

  • CLI: --environment <name>
  • Config: environment

Especificar o ambiente do runner, se não estiver executando no navegador (padrão: node).

passWithNoTests ​

  • CLI: --passWithNoTests
  • Config: passWithNoTests

Considerar o teste como aprovado mesmo que nenhum teste seja encontrado.

logHeapUsage ​

  • CLI: --logHeapUsage
  • Config: logHeapUsage

Mostrar o tamanho da heap para cada teste ao executar no Node.

allowOnly ​

  • CLI: --allowOnly
  • Config: allowOnly

Permitir testes e suítes que estão marcados com only (padrão: !process.env.CI).

dangerouslyIgnoreUnhandledErrors ​

  • CLI: --dangerouslyIgnoreUnhandledErrors
  • Config: dangerouslyIgnoreUnhandledErrors

Ignorar quaisquer erros não tratados que ocorram.

sequence.shuffle.files ​

  • CLI: --sequence.shuffle.files
  • Config: sequence.shuffle.files

Executar arquivos em ordem aleatória. Testes demorados não serão iniciados antes se esta opção for habilitada (padrão: false).

sequence.shuffle.tests ​

  • CLI: --sequence.shuffle.tests
  • Config: sequence.shuffle.tests

Executar testes em ordem aleatória (padrão: false).

sequence.concurrent ​

  • CLI: --sequence.concurrent
  • Config: sequence.concurrent

Fazer com que os testes sejam executados em paralelo (padrão: false).

sequence.seed ​

  • CLI: --sequence.seed <seed>
  • Config: sequence.seed

Definir a semente de randomização. Esta opção não terá efeito se --sequence.shuffle for falso. Visite a página "Random Seed" para mais informações.

sequence.hooks ​

  • CLI: --sequence.hooks <order>
  • Config: sequence.hooks

Altera a ordem em que os hooks são executados. Os valores aceitos são: "stack", "list" e "parallel". Visite sequence.hooks para mais informações (padrão: "parallel").

sequence.setupFiles ​

  • CLI: --sequence.setupFiles <order>
  • Config: sequence.setupFiles

Altera a ordem em que os arquivos de configuração são executados. Os valores aceitos são: "list" e "parallel". Se definido como "list", executará os arquivos de configuração na ordem em que são definidos. Se definido como "parallel", executará os arquivos de configuração em paralelo (padrão: "parallel").

inspect ​

  • CLI: --inspect [[host:]port]
  • Config: inspect

Habilitar o inspetor do Node.js (padrão: 127.0.0.1:9229).

inspectBrk ​

  • CLI: --inspectBrk [[host:]port]
  • Config: inspectBrk

Habilitar o inspetor do Node.js e pausar antes do início do teste.

testTimeout ​

  • CLI: --testTimeout <timeout>
  • Config: testTimeout

Tempo limite padrão de um teste em milissegundos (padrão: 5000). Use 0 para desabilitar o tempo limite completamente.

hookTimeout ​

  • CLI: --hookTimeout <timeout>
  • Config: hookTimeout

Tempo limite padrão do hook em milissegundos (padrão: 10000). Use 0 para desabilitar o tempo limite completamente.

bail ​

  • CLI: --bail <number>
  • Config: bail

Parar a execução do teste quando um determinado número de testes falhar (padrão: 0).

retry ​

  • CLI: --retry <times>
  • Config: retry

Tentar novamente o teste um número específico de vezes se ele falhar (padrão: 0).

diff.aAnnotation ​

  • CLI: --diff.aAnnotation <annotation>
  • Config: diff.aAnnotation

Anotação para linhas esperadas (padrão: Expected).

diff.aIndicator ​

  • CLI: --diff.aIndicator <indicator>
  • Config: diff.aIndicator

Indicador para linhas esperadas (padrão: -).

diff.bAnnotation ​

  • CLI: --diff.bAnnotation <annotation>
  • Config: diff.bAnnotation

Anotação para linhas recebidas (padrão: Received).

diff.bIndicator ​

  • CLI: --diff.bIndicator <indicator>
  • Config: diff.bIndicator

Indicador para linhas recebidas (padrão: +).

diff.commonIndicator ​

  • CLI: --diff.commonIndicator <indicator>
  • Config: diff.commonIndicator

Indicador para linhas comuns (padrão: ).

diff.contextLines ​

  • CLI: --diff.contextLines <lines>
  • Config: diff.contextLines

Número de linhas de contexto para mostrar em torno de cada alteração (padrão: 5).

diff.emptyFirstOrLastLinePlaceholder ​

  • CLI: --diff.emptyFirstOrLastLinePlaceholder <placeholder>
  • Config: diff.emptyFirstOrLastLinePlaceholder

Texto substituto para linhas vazias no início ou fim (padrão: "").

diff.expand ​

  • CLI: --diff.expand
  • Config: diff.expand

Expandir todas as linhas comuns (padrão: true).

diff.includeChangeCounts ​

  • CLI: --diff.includeChangeCounts
  • Config: diff.includeChangeCounts

Incluir contagens de comparação na saída do diff (padrão: false).

diff.omitAnnotationLines ​

  • CLI: --diff.omitAnnotationLines
  • Config: diff.omitAnnotationLines

Omitir linhas de anotação da saída (padrão: false).

diff.printBasicPrototype ​

  • CLI: --diff.printBasicPrototype
  • Config: diff.printBasicPrototype

Imprimir protótipo básico de Objeto e Array (padrão: true).

diff.maxDepth ​

  • CLI: --diff.maxDepth <maxDepth>
  • Config: diff.maxDepth

Limitar a profundidade de recursão ao imprimir objetos aninhados (padrão: 20).

diff.truncateThreshold ​

  • CLI: --diff.truncateThreshold <threshold>
  • Config: diff.truncateThreshold

Número de linhas a serem mostradas antes e depois de cada alteração (padrão: 0).

diff.truncateAnnotation ​

  • CLI: --diff.truncateAnnotation <annotation>
  • Config: diff.truncateAnnotation

Anotação para linhas truncadas (padrão: ... Diff result is truncated).

exclude ​

  • CLI: --exclude <glob>
  • Config: exclude

Globs de arquivo adicionais a serem excluídos do teste.

expandSnapshotDiff ​

  • CLI: --expandSnapshotDiff
  • Config: expandSnapshotDiff

Exibir o diff completo quando o snapshot falha.

disableConsoleIntercept ​

  • CLI: --disableConsoleIntercept
  • Config: disableConsoleIntercept

Desabilitar a interceptação automática de logs do console (padrão: false).

typecheck.enabled ​

  • CLI: --typecheck.enabled
  • Config: typecheck.enabled

Ativar verificação de tipos durante os testes (padrão: false).

typecheck.only ​

  • CLI: --typecheck.only
  • Config: typecheck.only

Executar apenas testes de verificação de tipo. Isso habilita automaticamente a verificação de tipo (padrão: false).

typecheck.checker ​

  • CLI: --typecheck.checker <name>
  • Config: typecheck.checker

Especificar o verificador de tipo a ser usado. Os valores disponíveis são: "tsc", "vue-tsc" e um caminho para um executável (padrão: "tsc").

typecheck.allowJs ​

  • CLI: --typecheck.allowJs
  • Config: typecheck.allowJs

Permitir que arquivos JavaScript sejam verificados quanto ao tipo. Por padrão, assume o valor de tsconfig.json.

typecheck.ignoreSourceErrors ​

  • CLI: --typecheck.ignoreSourceErrors
  • Config: typecheck.ignoreSourceErrors

Ignorar erros de tipo de arquivos de origem.

typecheck.tsconfig ​

  • CLI: --typecheck.tsconfig <path>
  • Config: typecheck.tsconfig

Caminho para um arquivo tsconfig personalizado.

typecheck.spawnTimeout ​

  • CLI: --typecheck.spawnTimeout <time>
  • Config: typecheck.spawnTimeout

Tempo mínimo (em ms) para inicializar o verificador de tipos.

project ​

  • CLI: --project <name>
  • Config: project

O nome do projeto a ser executado se você estiver usando o recurso de workspace do Vitest. Esta opção pode ser repetida para vários projetos: --project=1 --project=2. Você também pode filtrar projetos usando curingas como --project=packages* e excluir projetos com --project=!pattern.

slowTestThreshold ​

  • CLI: --slowTestThreshold <threshold>
  • Config: slowTestThreshold

Limite em milissegundos para um teste ou suíte ser considerado lento (padrão: 300).

teardownTimeout ​

  • CLI: --teardownTimeout <timeout>
  • Config: teardownTimeout

Tempo limite padrão de uma função de teardown em milissegundos (padrão: 10000).

maxConcurrency ​

  • CLI: --maxConcurrency <number>
  • Config: maxConcurrency

Número máximo de testes concorrentes em uma suíte (padrão: 5).

expect.requireAssertions ​

  • CLI: --expect.requireAssertions
  • Config: expect.requireAssertions

Requerer que todos os testes contenham ao menos uma asserção.

expect.poll.interval ​

  • CLI: --expect.poll.interval <interval>
  • Config: expect.poll.interval

Intervalo de polling em milissegundos para asserções expect.poll() (padrão: 50).

expect.poll.timeout ​

  • CLI: --expect.poll.timeout <timeout>
  • Config: expect.poll.timeout

Tempo limite de polling em milissegundos para asserções expect.poll() (padrão: 1000).

printConsoleTrace ​

  • CLI: --printConsoleTrace
  • Config: printConsoleTrace

Sempre imprimir rastreamentos de pilha do console.

includeTaskLocation ​

  • CLI: --includeTaskLocation
  • Config: includeTaskLocation

Coletar locais de teste e suíte na propriedade location.

attachmentsDir ​

  • CLI: --attachmentsDir <dir>
  • Config: attachmentsDir

O diretório onde os anexos de context.annotate são armazenados (padrão: .vitest-attachments).

run ​

  • CLI: --run

Desabilitar o modo de monitoramento.

color ​

  • CLI: --no-color

Remove cores da saída do console.

clearScreen ​

  • CLI: --clearScreen

Limpar a tela do terminal ao reexecutar testes no modo de observação (padrão: true).

configLoader ​

  • CLI: --configLoader <loader>

Use bundle para empacotar a configuração com esbuild ou runner (experimental) para processá-la em tempo real. Isso está disponível apenas na versão 6.1.0 e superior do Vite (padrão: bundle).

standalone ​

  • CLI: --standalone

Iniciar Vitest sem executar testes. Os filtros de arquivo serão ignorados, os testes serão executados apenas na alteração (padrão: false).

changed ​

  • Tipo: boolean | string
  • Padrão: false

Executa testes apenas para arquivos alterados. Se nenhum valor for fornecido, ele executará testes para alterações não commitadas (incluindo staged e unstaged).

Para executar testes em alterações feitas no último commit, você pode usar --changed HEAD~1. Você também pode passar o hash do commit (por exemplo, --changed 09a9920) ou o nome da branch (por exemplo, --changed origin/develop).

Quando usado com cobertura de código, o relatório conterá apenas os arquivos relacionados às alterações.

Se combinado com a opção de configuração forceRerunTriggers, ele executará toda a suíte de testes se pelo menos um dos arquivos listados em forceRerunTriggers for alterado. Por padrão, alterações no arquivo de configuração do Vitest e no package.json sempre executarão novamente toda a suíte.

shard ​

  • Tipo: string
  • Padrão: disabled

Particiona a suíte de testes a ser executada no formato <index>/<count>, onde:

  • count é um inteiro positivo, representando o número total de partes.
  • index é um inteiro positivo, representando o índice da partição.

Esta opção dividirá todos os testes em count partes iguais e executará apenas aqueles que corresponderem à parte index. Por exemplo, para dividir sua suíte de testes em três partes, use isto:

sh
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3

WARNING

Você não pode usar esta opção com --watch ativado (que está ativado no desenvolvimento por padrão).

TIP

Se --reporter=blob for usado sem um arquivo de saída, o caminho padrão incluirá a configuração de shard atual para evitar colisões com outros processos Vitest.

merge-reports ​

  • Tipo: boolean | string

Mescla todos os relatórios blob localizados na pasta especificada (por padrão, .vitest-reports). Você pode usar qualquer reporter com este comando (exceto blob):

sh
vitest --merge-reports --reporter=junit
Pager
AnteriorassertType
PróximoFiltragem de Testes

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team