API de Node
WARNING
Vitest expone una API experimental privada. Los cambios importantes podrían no seguir semver, por favor, fija la versión de Vitest al usarla.
startVitest
Puedes iniciar la ejecución de pruebas de Vitest usando su API de Node:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();
La función startVitest
devuelve una instancia de Vitest
si las pruebas se pueden iniciar correctamente. Devuelve undefined
en los siguientes casos:
- Vitest no encuentra el paquete "vite" (normalmente instalado con Vitest).
- Si la cobertura está activada y el modo de ejecución es "test", pero el paquete de cobertura no está instalado (
@vitest/coverage-v8
o@vitest/coverage-istanbul
). - Si el paquete de entorno no está instalado (
jsdom
/happy-dom
/@edge-runtime/vm
).
Si se devuelve undefined
o si las pruebas fallan durante la ejecución, Vitest establece process.exitCode
a 1
.
Si el modo watch
no está habilitado, Vitest llamará al método close
.
Si el modo watch
está habilitado y la terminal soporta TTY, Vitest registrará accesos directos en la consola.
Puedes pasar una lista de filtros como segundo argumento. Vitest ejecutará solo las pruebas cuya ruta de archivo contenga al menos una de las cadenas proporcionadas.
Además, puedes usar el tercer argumento para pasar argumentos de la CLI, que sobrescribirán cualquier opción de configuración de prueba.
Como alternativa, puedes pasar la configuración completa de Vite como el cuarto argumento, que tendrá prioridad sobre cualquier otra opción definida por el usuario.
createVitest
Puedes crear tú mismo una instancia de Vitest usando la función createVitest
. Devuelve la misma instancia de Vitest
que startVitest
, pero no inicia las pruebas ni valida los paquetes instalados.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});
Vitest
La instancia de Vitest requiere especificar el modo de prueba actual. Puede ser:
test
cuando se ejecutan pruebas en tiempo de ejecución.benchmark
cuando se ejecutan benchmarks.typecheck
cuando se ejecutan pruebas de tipo (type tests).
mode
test
El modo test
solo llamará a funciones dentro de test
o it
, y lanzará un error si encuentra bench
. Este modo usa las opciones include
y exclude
en la configuración para encontrar archivos de prueba.
benchmark
El modo benchmark
llama a las funciones bench
y lanza un error si encuentra test
o it
. Este modo usa las opciones benchmark.include
y benchmark.exclude
en la configuración para encontrar archivos de rendimiento.
typecheck
El modo typecheck
no ejecuta pruebas. Solo analiza los tipos y genera un resumen. Este modo usa las opciones typecheck.include
y typecheck.exclude
en la configuración para encontrar archivos para analizar.
start
Puedes iniciar pruebas o benchmarks con el método start
. Puedes pasar un array de strings para filtrar los archivos de prueba.