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 foobarEste 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:10WARNING
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.jsTIP
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 browservitest 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 2Você 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.jsonSe 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 --filesOnlytests/test1.test.ts
tests/test2.test.tsOpçõ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=defaultOpções booleanas podem ser negadas com o prefixo no-. Também é possível especificar o valor como false:
vitest --no-api
vitest --api=falseroot
- 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/3WARNING
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