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:
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:
$ 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.
$ 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:
$ 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.
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.
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
:
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:
vitest list filename.spec.ts -t="some-test"
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:
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:
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 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:
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
):
vitest --merge-reports --reporter=junit