Interface de Linha de Comando
Comandos
vitest
Inicia o Vitest no diretório atual. Entra automaticamente no modo de observação (watch) em ambiente de desenvolvimento e no modo de execução em ambientes de Integração Contínua (CI).
Você pode passar um argumento adicional como filtro para os arquivos de teste a serem executados. Por exemplo:
vitest foobar
Este comando executará apenas os arquivos de teste cujos caminhos contenham foobar
. Este filtro verifica apenas a inclusão e não suporta expressões regulares ou padrões glob (a menos que seu terminal os processe antes que o Vitest receba o filtro).
vitest run
Realiza uma única execução dos testes, sem o modo de observação (watch).
vitest watch
Executa todas as suítes de testes, mas observa as alterações nos arquivos e as executa novamente quando elas ocorrem. É o mesmo que chamar vitest
sem um argumento. Em ambientes de CI, ele reverterá para o comportamento de vitest run
.
vitest dev
Um apelido 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 caminhos de arquivo devem ser relativos à pasta raiz do projeto.
Útil com lint-staged
ou em sua configuração de CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Lembre-se de que o Vitest é executado com o modo de observação (watch) 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.
// .lintstagedrc.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 inicializar a configuração do projeto. Atualmente, ele suporta apenas o valor browser
:
vitest init browser
vitest list
O comando vitest list
aceita todas as opções de vitest
para imprimir a lista de todos os testes que correspondem aos critérios. Este comando ignora a opção reporters
. Por padrão, ele imprimirá os nomes de todos os testes que corresponderem ao filtro de arquivo e ao padrão de nome:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Você pode usar a flag --json
para imprimir os testes em formato JSON ou salvá-los em um arquivo separado:
vitest list filename.spec.ts -t="some-test" --json=./file.json
Se a flag --json
não receber um valor, o JSON será enviado para a saída padrão (stdout).
Você também pode passar a flag --filesOnly
para imprimir apenas os arquivos de teste:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Opções
TIP
O Vitest suporta tanto camel case quanto kebab case para argumentos de 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 a opção suporta um array de valores, você precisa especificar a opção várias vezes:
vitest --reporter=dot --reporter=default
Opções booleanas podem ser negadas com o prefixo no-
. Definir o valor como false
também funciona:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Define o caminho da raiz do projeto.
config
- CLI:
-c, --config <path>
Define o caminho para o arquivo de configuração.
update
- CLI:
-u, --update
- Config: update
Atualiza os snapshots.
watch
- CLI:
-w, --watch
- Config: watch
Habilita o modo de observação (watch mode).
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
Executa testes cujos nomes completos correspondem ao padrão de expressão regular especificado.
dir
- CLI:
--dir <path>
- Config: dir
Define o diretório base para escanear arquivos de teste.
ui
- CLI:
--ui
- Config: ui
Habilita a interface de usuário (UI).
open
- CLI:
--open
- Config: open
Abre 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 Vite tentará automaticamente a próxima porta disponível, o que significa que esta pode não ser a porta real em que o servidor acabará escutando. Se true
, será definida como 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 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
- Config: silent
Suprime a saída do console dos testes.
hideSkippedTests
- CLI:
--hideSkippedTests
Oculta os logs de testes ignorados (skipped tests).
reporters
- CLI:
--reporter <name>
- Config: reporters
Especifica os relatores (reporters) a serem usados.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Escreve os resultados do teste em um arquivo quando um relator compatível também é especificado. Use a notação de ponto para saídas individuais de múltiplos relatores (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
Seleciona 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 substituído usando a opção CLI --coverage
(padrão: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
Padrões glob para arquivos a serem incluídos na cobertura. Pode ser especificado mais de uma vez ao usar múltiplos padrões (padrão: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
Padrões glob para 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
Limpa os resultados de cobertura antes de executar os testes (padrão: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Config: coverage.cleanOnRerun
Limpa o relatório de cobertura na reexecução do modo de observação (padrão: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Config: coverage.reportsDirectory
Diretório para gerar o relatório de cobertura (padrão: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Config: coverage.reporter
Relatores de cobertura a serem usados. Consulte coverage.reporter
para mais informações (padrão: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Config: coverage.reportOnFailure
Gera o relatório de cobertura mesmo quando os testes falham (padrão: false
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Config: coverage.allowExternal
Coleta cobertura de arquivos fora da raiz do projeto (padrão: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Config: coverage.skipFull
Não exibe 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
Verifica os limites de cobertura 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
Atualiza 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>
Define o limite mínimo de cobertura para linhas. Consulte istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <number>
Define o limite mínimo de cobertura para funções. Consulte istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <number>
Define o limite mínimo de cobertura para branches. Consulte istanbuljs para mais informações. Esta opção não está disponível para provedores personalizados.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <number>
Define o limite mínimo de cobertura para declarações. Consulte 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. Consulte istanbuljs para mais informações. Esta opção está disponível apenas para os provedores 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 ou caminho do módulo para o provedor de cobertura personalizado. Consulte 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>
Limites superior e inferior para declarações no formato de <superior>,<inferior>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Limites superior e inferior para linhas no formato de <superior>,<inferior>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Limites superior e inferior para branches no formato de <superior>,<inferior>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Limites superior e inferior para funções no formato de <superior>,<inferior>
.
mode
- CLI:
--mode <name>
- Config: mode
Define o modo Vite (padrão: test
ou benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
Caminho para um arquivo de configuração de workspace.
isolate
- CLI:
--isolate
- Config: isolate
Executa cada arquivo de teste isoladamente. Para desabilitar o isolamento, use --no-isolate
(padrão: true
).
globals
- CLI:
--globals
- Config: globals
Injeta APIs globalmente.
dom
- CLI:
--dom
Simula APIs de navegador usando happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Executa testes no navegador. Equivalente a --browser.enabled
(padrão: false
).
browser.name
- CLI:
--browser.name <name>
- Config: browser.name
Executa todos os testes em um navegador específico. Alguns navegadores estão disponíveis apenas para provedores específicos (consulte --browser.provider
). Consulte browser.name
para mais informações.
browser.headless
- CLI:
--browser.headless
- Config: browser.headless
Executa o navegador em modo headless (sem interface gráfica do usuário). 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 Vite tentará automaticamente a próxima porta disponível, o que significa que esta pode não ser a porta real em que o servidor acabará escutando. Se true
, será definida como 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 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. Consulte 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. Consulte browser.providerOptions
para mais informações.
browser.isolate
- CLI:
--browser.isolate
- Config: browser.isolate
Executa 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
Exibe 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
).
pool
- CLI:
--pool <pool>
- Config: pool
Especifica o pool de execução, se não estiver executando no navegador (padrão: threads
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Config: poolOptions.threads.isolate
Isola testes no pool de threads (padrão: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Config: poolOptions.threads.singleThread
Executa 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 os testes.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Config: poolOptions.threads.minThreads
Número mínimo ou porcentagem de threads para executar os testes.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Config: poolOptions.threads.useAtomics
Usa Atomics para sincronizar threads. Isso pode melhorar o desempenho em alguns casos, mas pode causar segfault em versões mais antigas do Node (padrão: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Config: poolOptions.vmThreads.isolate
Isola testes no pool de threads VM (padrão: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Config: poolOptions.vmThreads.singleThread
Executa testes em uma única thread VM (padrão: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Config: poolOptions.vmThreads.maxThreads
Número máximo ou porcentagem de threads VM para executar os testes.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
Número mínimo ou porcentagem de threads VM para executar os testes.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Config: poolOptions.vmThreads.useAtomics
Usa Atomics para sincronizar threads VM. Isso pode melhorar o desempenho em alguns casos, mas pode causar segfault 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ê notar vazamentos de memória, tente ajustar este valor.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Config: poolOptions.forks.isolate
Isola testes no pool de forks (padrão: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Config: poolOptions.forks.singleFork
Executa testes em um único processo filho (fork) (padrão: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <workers>
- Config: poolOptions.forks.maxForks
Número máximo ou porcentagem de processos (forks) para executar os testes.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <workers>
- Config: poolOptions.forks.minForks
Número mínimo ou porcentagem de processos (forks) para executar os testes.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Config: poolOptions.vmForks.isolate
Isola testes no pool de forks VM (padrão: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Config: poolOptions.vmForks.singleFork
Executa testes em um único processo filho VM (fork) (padrão: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Config: poolOptions.vmForks.maxForks
Número máximo ou porcentagem de processos VM (forks) para executar os testes.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
Número mínimo ou porcentagem de processos VM (forks) para executar os 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ê notar 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
Especifica o ambiente do executor, se não estiver executando no navegador (padrão: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Config: passWithNoTests
Considera a execução bem-sucedida mesmo quando nenhum teste é encontrado.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Exibe o tamanho da heap para cada teste ao executar no Node.
allowOnly
- CLI:
--allowOnly
- Config: allowOnly
Permite testes e suítes que estão marcados como "only" (padrão: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Config: dangerouslyIgnoreUnhandledErrors
Ignora quaisquer erros não tratados que ocorram.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Config: sequence.shuffle.files
Executa arquivos em ordem aleatória. Testes de longa duração não começarão antes se você habilitar esta opção (padrão: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
Executa testes em ordem aleatória (padrão: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Config: sequence.concurrent
Executa testes em paralelo (padrão: false
).
sequence.seed
- CLI:
--sequence.seed <seed>
- Config: sequence.seed
Define a semente de randomização. Esta opção não terá efeito se --sequence.shuffle
estiver desabilitado. Consulte 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". Consulte 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
Habilita o inspetor do Node.js (padrão: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Config: inspectBrk
Habilita o inspetor do Node.js e pausa antes do teste começar.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
Tempo limite padrão de um teste em milissegundos (padrão: 5000
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Tempo limite padrão do hook em milissegundos (padrão: 10000
).
bail
- CLI:
--bail <number>
- Config: bail
Para a execução do teste quando o número especificado de testes falhar (padrão: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Repete o teste um número específico de vezes se ele falhar (padrão: 0
).
diff
- CLI:
--diff <path>
- Config: diff
Caminho para uma configuração de diff que será usada para gerar a interface de diff.
exclude
- CLI:
--exclude <glob>
- Config: exclude
Padrões glob de arquivos adicionais a serem excluídos do teste.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Exibe o diff completo quando um snapshot falha.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Desabilita a interceptação automática de logs do console (padrão: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
Ativa a verificação de tipos durante os testes (padrão: false
).
typecheck.only
- CLI:
--typecheck.only
- Config: typecheck.only
Executa 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
Especifica 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
Permite a verificação de tipos em arquivos JavaScript. Por padrão, assume o valor de tsconfig.json.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
Ignora erros de tipo de arquivos de origem.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
Caminho para um arquivo tsconfig personalizado.
project
- CLI:
--project <name>
- Config: project
O nome do projeto a ser executado se você estiver usando o recurso de workspace do Vitest. Isso pode ser repetido para vários projetos: --project=1 --project=2
. Você também pode filtrar projetos usando curingas como --project=packages*
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Limite em milissegundos para um teste 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
Exige que todos os testes tenham pelo 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 imprime rastreamentos de pilha do console.
run
- CLI:
--run
Desabilita o modo de observação.
color
- CLI:
--no-color
Remove cores da saída do console.
clearScreen
- CLI:
--clearScreen
Limpa a tela do terminal ao reexecutar testes durante o modo de observação (padrão: true
).
standalone
- CLI:
--standalone
Inicia o Vitest sem rodar testes imediatamente. Os filtros de arquivo serão ignorados, e os testes serão executados apenas quando houver alterações (padrão: false
).
changed
- Tipo:
boolean | string
- Valor padrão:
false
Executa testes apenas para arquivos alterados. Se nenhum valor for fornecido, ele executará testes nas alterações não commitadas (incluindo arquivos em "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
- Valor 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 em que os testes serão divididos.index
é um inteiro positivo, representando o índice da parte específica a ser executada (começando de 1).
Este comando dividirá todos os testes em count
partes iguais e executará apenas aqueles que pertencem à parte index
. Por exemplo, para dividir sua suíte de testes em três partes, use isto:
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 é ativado por padrão no desenvolvimento).
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 do Vitest.
merge-reports
- Tipo:
boolean | string
Mescla todos os relatórios do tipo blob localizados na pasta especificada (.vitest-reports
por padrão). Você pode usar qualquer reporter com este comando (exceto blob
):
vitest --merge-reports --reporter=junit