API do Node
WARNING
O Vitest expõe uma API privada experimental. Mudanças que quebram a compatibilidade podem não seguir o versionamento semântico (semver). Por isso, é recomendado fixar a versão do Vitest que você está usando.
startVitest
Você pode iniciar a execução dos testes do Vitest usando sua API do Node:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();A função startVitest retorna a instância Vitest se os testes puderem ser iniciados com sucesso. Ela retorna undefined se um dos seguintes eventos ocorrer:
- O Vitest não encontrou o pacote "vite" (geralmente instalado junto com o Vitest).
- Se a cobertura de código estiver habilitada e o modo de execução for "test", mas o pacote de cobertura não estiver instalado (
@vitest/coverage-v8ou@vitest/coverage-istanbul). - Se o pacote de ambiente de teste não estiver instalado (
jsdom/happy-dom/@edge-runtime/vm).
Se undefined for retornado ou os testes falharem durante a execução, o Vitest define process.exitCode para 1.
Se o modo watch não estiver habilitado, o Vitest chamará o método close().
Se o modo watch estiver habilitado e o terminal suportar TTY, o Vitest registrará atalhos no console.
Você pode passar uma lista de filtros como segundo argumento. O Vitest executará apenas os testes que contiverem pelo menos uma das strings passadas no caminho do arquivo.
Adicionalmente, você pode usar o terceiro argumento para passar argumentos de linha de comando (CLI), que substituirão quaisquer opções de configuração de testes.
Alternativamente, você pode passar a configuração completa do Vite como o quarto argumento, que terá precedência sobre quaisquer outras opções definidas pelo usuário.
createVitest
Você pode criar a instância do Vitest usando a função createVitest. Ela retorna a mesma instância Vitest que startVitest, mas não inicia os testes e não valida os pacotes instalados.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});Vitest
A instância do Vitest requer o modo de teste atual, que pode ser:
testao executar testes de runtimebenchmarkao executar benchmarkstypecheckao executar testes de tipo
mode
test
O modo de teste executará apenas as funções test ou it, lançando um erro quando bench for encontrado. Este modo usa as opções include e exclude na configuração para encontrar arquivos de teste.
benchmark
O modo de benchmark executa as funções bench, lançando um erro quando encontra test ou it. Este modo usa as opções benchmark.include e benchmark.exclude na configuração para encontrar arquivos de benchmark.
typecheck
O modo de verificação de tipos não executa testes. Ele apenas analisa os tipos e gera um resumo. Este modo usa as opções typecheck.include e typecheck.exclude na configuração para encontrar arquivos a serem analisados.
start
Você pode iniciar a execução de testes ou benchmarks com o método start. Você pode passar um array de strings para filtrar os arquivos de teste.