Interfaz de Línea de Comandos
Comandos
vitest
Inicia Vitest en el directorio actual. Se ejecutará en modo de observación en entornos de desarrollo y en modo de ejecución única en entornos de CI automáticamente.
Puedes pasar un argumento adicional para filtrar los archivos de prueba a ejecutar. Por ejemplo:
vitest foobar
Esto ejecutará solo los archivos de prueba cuya ruta contenga foobar
. Este filtro solo verifica la inclusión y no admite expresiones regulares ni patrones glob (a menos que tu terminal los procese antes de que Vitest reciba el filtro).
vitest run
Realiza una única ejecución de las pruebas sin el modo de observación.
vitest watch
Ejecuta todas las suites de prueba, pero observa los cambios y vuelve a ejecutar las pruebas cuando estos ocurren. Es equivalente a llamar a vitest
sin argumentos. En entornos de CI, se revertirá a vitest run
.
vitest dev
Alias de vitest watch
.
vitest related
Ejecuta solo las pruebas que están relacionadas con una lista de archivos fuente específicos. Funciona con importaciones estáticas (por ejemplo, import('./index.js')
o import index from './index.js'
), pero no con importaciones dinámicas (por ejemplo, import(filepath)
). Todos los archivos deben especificarse con rutas relativas al directorio raíz del proyecto.
Útil para integrar con herramientas como lint-staged
o en tu configuración de CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Recuerda que Vitest se ejecuta con el modo de observación habilitado por defecto. Si estás utilizando herramientas como lint-staged
, también debes pasar la opción --run
para que el comando pueda finalizar su ejecución normalmente.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Ejecuta solo pruebas de benchmarking, que comparan resultados de rendimiento.
vitest init
vitest init <name>
se puede usar para configurar el proyecto. Por el momento, solo admite el valor browser
:
vitest init browser
vitest list
El comando vitest list
hereda todas las opciones de vitest
para mostrar la lista de todas las pruebas coincidentes. Este comando ignora la opción reporters
. Por defecto, imprimirá los nombres de todas las pruebas que coincidan con el filtro de archivo y el patrón de nombre:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Puedes usar la opción --json
para imprimir las pruebas en formato JSON o guardarlas en un archivo separado:
vitest list filename.spec.ts -t="some-test" --json=./file.json
Si la opción --json
no recibe un valor, imprimirá el JSON en la salida estándar.
También puedes usar la opción --filesOnly
para imprimir solo los archivos de prueba:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Opciones
TIP
Vitest admite tanto camel case como kebab case para las opciones de la CLI. Por ejemplo, --passWithNoTests
y --pass-with-no-tests
funcionarán (--no-color
y --inspect-brk
son las excepciones).
Vitest también admite diferentes formas de especificar el valor: --reporter dot
y --reporter=dot
son ambos válidos.
Si una opción admite un array de valores, debes especificar la opción varias veces:
vitest --reporter=dot --reporter=default
Las opciones booleanas se pueden desactivar con el prefijo no-
. Especificar el valor como false
también funciona:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Ruta base del proyecto.
config
- CLI:
-c, --config <path>
Ruta al archivo de configuración de Vitest.
update
- CLI:
-u, --update
- Config: update
Actualiza las instantáneas (snapshots) fallidas.
watch
- CLI:
-w, --watch
- Config: watch
Habilita el modo de observación (watch mode), que vuelve a ejecutar las pruebas al detectar cambios en los archivos.
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
Ejecuta solo las pruebas cuyos nombres completos coincidan con el patrón de expresión regular especificado.
dir
- CLI:
--dir <path>
- Config: dir
Directorio base para buscar archivos de prueba.
ui
- CLI:
--ui
- Config: ui
Habilita la interfaz de usuario (UI) de Vitest.
open
- CLI:
--open
- Config: open
Abre la interfaz de usuario automáticamente en el navegador (predeterminado: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Especifica el puerto del servidor API. Si el puerto ya está en uso, Vite intentará automáticamente el siguiente puerto disponible. Si se establece en true
, el valor será 51204
.
api.host
- CLI:
--api.host [host]
Especifica en qué direcciones IP debe escuchar el servidor API. Configúralo como 0.0.0.0
o true
para escuchar en todas las direcciones, incluidas las direcciones LAN y públicas.
api.strictPort
- CLI:
--api.strictPort
Si se establece en true
, Vitest saldrá si el puerto ya está en uso, en lugar de intentar automáticamente el siguiente puerto disponible.
silent
- CLI:
--silent
- Config: silent
Suprime la salida de la consola durante la ejecución de las pruebas.
hideSkippedTests
- CLI:
--hideSkippedTests
Oculta los registros de las pruebas omitidas en la salida de la consola.
reporters
- CLI:
--reporter <name>
- Config: reporters
Especifica los generadores de informes (reporters) a utilizar para la salida de los resultados de las pruebas.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Escribe los resultados de las pruebas en un archivo cuando se especifica un generador de informes compatible con esta funcionalidad. Usa la notación de puntos para salidas individuales de múltiples generadores de informes (ejemplo: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
Indica si se deben incluir todos los archivos, incluso los que no han sido probados, en el informe de cobertura.
coverage.provider
- CLI:
--coverage.provider <name>
- Config: coverage.provider
Selecciona la herramienta para la recopilación de cobertura. Los valores disponibles son: "v8", "istanbul" y "custom".
coverage.enabled
- CLI:
--coverage.enabled
- Config: coverage.enabled
Habilita la recopilación de cobertura de código. Se puede anular usando la opción CLI --coverage
(predeterminado: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
Patrones glob para los archivos que se deben incluir en la cobertura. Se puede especificar más de una vez para múltiples patrones (predeterminado: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
Patrones glob para los archivos que se deben excluir de la cobertura. Se puede especificar más de una vez para múltiples patrones (predeterminado: Visita coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <extension>
- Config: coverage.extension
Extensiones de archivo a incluir en la cobertura. Se puede especificar más de una vez para múltiples extensiones (predeterminado: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Config: coverage.clean
Limpia los resultados de cobertura antes de ejecutar las pruebas (predeterminado: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Config: coverage.cleanOnRerun
Limpia el informe de cobertura al reiniciar en modo de observación (predeterminado: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Config: coverage.reportsDirectory
Directorio donde se generará el informe de cobertura (predeterminado: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Config: coverage.reporter
Generadores de informes de cobertura a utilizar. Visita coverage.reporter
para más información (predeterminado: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Config: coverage.reportOnFailure
Genera el informe de cobertura incluso cuando las pruebas fallan (predeterminado: false
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Config: coverage.allowExternal
Recopila cobertura de archivos que están fuera de la raíz del proyecto (predeterminado: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Config: coverage.skipFull
No muestra archivos con 100% de cobertura de sentencias, ramas y funciones en el informe (predeterminado: false
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Config: coverage.thresholds.100
Atajo para establecer todos los umbrales de cobertura en 100% (predeterminado: false
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Config: coverage.thresholds.perFile
Verifica los umbrales de cobertura por archivo. Consulta --coverage.thresholds.lines
, --coverage.thresholds.functions
, --coverage.thresholds.branches
y --coverage.thresholds.statements
para los umbrales específicos (predeterminado: false
).
coverage.thresholds.autoUpdate
- CLI:
--coverage.thresholds.autoUpdate
- Config: coverage.thresholds.autoUpdate
Actualiza los valores de umbral de "lines", "functions", "branches" y "statements" en el archivo de configuración si la cobertura actual supera los umbrales configurados (predeterminado: false
).
coverage.thresholds.lines
- CLI:
--coverage.thresholds.lines <number>
Umbral mínimo de cobertura para líneas. Visita istanbuljs para más información. Esta opción no está disponible para proveedores personalizados.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <number>
Umbral mínimo de cobertura para funciones. Visita istanbuljs para más información. Esta opción no está disponible para proveedores personalizados.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <number>
Umbral mínimo de cobertura para ramas. Visita istanbuljs para más información. Esta opción no está disponible para proveedores personalizados.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <number>
Umbral mínimo de cobertura para sentencias. Visita istanbuljs para más información. Esta opción no está disponible para proveedores personalizados.
coverage.ignoreClassMethods
- CLI:
--coverage.ignoreClassMethods <name>
- Config: coverage.ignoreClassMethods
Array de nombres de métodos de clase a ignorar para la cobertura. Visita istanbuljs para más información. Esta opción solo está disponible para los proveedores de Istanbul (predeterminado: []
).
coverage.processingConcurrency
- CLI:
--coverage.processingConcurrency <number>
- Config: coverage.processingConcurrency
Límite de concurrencia utilizado al procesar los resultados de cobertura (predeterminado: el mínimo entre 20 y el número de CPUs).
coverage.customProviderModule
- CLI:
--coverage.customProviderModule <path>
- Config: coverage.customProviderModule
Especifica el nombre o la ruta del módulo para un proveedor de cobertura personalizado. Visita Custom Coverage Provider para más información. Esta opción solo está disponible para proveedores personalizados.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <watermarks>
Marcas de agua alta y baja para sentencias en el formato <alta>,<baja>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Marcas de agua alta y baja para líneas en el formato <alta>,<baja>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Marcas de agua alta y baja para ramas en el formato <alta>,<baja>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Marcas de agua alta y baja para funciones en el formato <alta>,<baja>
.
mode
- CLI:
--mode <name>
- Config: mode
Anula el modo Vite (predeterminado: test
o benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
Ruta a un archivo de configuración de espacio de trabajo.
isolate
- CLI:
--isolate
- Config: isolate
Ejecuta cada archivo de prueba de forma aislada. Para deshabilitar el aislamiento, usa --no-isolate
(predeterminado: true
).
globals
- CLI:
--globals
- Config: globals
Inyecta las APIs de Vitest globalmente.
dom
- CLI:
--dom
Simula la API del navegador utilizando happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Habilita la ejecución de pruebas en el navegador (predeterminado: false
).
browser.name
- CLI:
--browser.name <name>
- Config: browser.name
Ejecuta todas las pruebas en un navegador específico. Algunos navegadores solo están disponibles para proveedores específicos (ver --browser.provider
). Visita browser.name
para más información.
browser.headless
- CLI:
--browser.headless
- Config: browser.headless
Ejecuta el navegador en modo sin cabeza (es decir, sin abrir la interfaz gráfica de usuario). Si Vitest se ejecuta en un entorno de CI, se habilitará por defecto (predeterminado: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Config: browser.api.port
Especifica el puerto del servidor API del navegador. Si el puerto ya está en uso, Vite intentará automáticamente el siguiente puerto disponible. Si se establece en true
, el valor será 63315
.
browser.api.host
- CLI:
--browser.api.host [host]
- Config: browser.api.host
Especifica en qué direcciones IP debe escuchar el servidor API del navegador. Configúralo como 0.0.0.0
o true
para escuchar en todas las direcciones, incluidas las direcciones LAN y públicas.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Config: browser.api.strictPort
Si se establece en true
, Vitest saldrá si el puerto ya está en uso, en lugar de intentar automáticamente el siguiente puerto disponible para el servidor API del navegador.
browser.provider
- CLI:
--browser.provider <name>
- Config: browser.provider
Proveedor utilizado para ejecutar pruebas de navegador. Puede ser "webdriverio", "playwright", "preview" o la ruta a un proveedor personalizado. Visita browser.provider
para más información (predeterminado: "preview"
).
browser.providerOptions
- CLI:
--browser.providerOptions <options>
- Config: browser.providerOptions
Opciones que se pasan a un proveedor de navegador. Visita browser.providerOptions
para más información.
browser.isolate
- CLI:
--browser.isolate
- Config: browser.isolate
Ejecuta cada archivo de prueba del navegador de forma aislada. Para deshabilitar el aislamiento, usa --browser.isolate=false
(predeterminado: true
).
browser.ui
- CLI:
--browser.ui
- Config: browser.ui
Muestra la interfaz de usuario de Vitest al ejecutar pruebas en el navegador (predeterminado: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
Determina si los archivos de prueba del navegador deben ejecutarse en paralelo. Usa --browser.fileParallelism=false
para deshabilitar (predeterminado: true
).
pool
- CLI:
--pool <pool>
- Config: pool
Especifica el pool de ejecución de pruebas, si no se ejecuta en el navegador (predeterminado: threads
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Config: poolOptions.threads.isolate
Aísla las pruebas en el pool de hilos (predeterminado: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Config: poolOptions.threads.singleThread
Ejecuta todas las pruebas dentro de un solo hilo (predeterminado: false
).
poolOptions.threads.maxThreads
- CLI:
--poolOptions.threads.maxThreads <workers>
- Config: poolOptions.threads.maxThreads
Número máximo o porcentaje de hilos para ejecutar pruebas.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Config: poolOptions.threads.minThreads
Número mínimo o porcentaje de hilos para ejecutar pruebas.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Config: poolOptions.threads.useAtomics
Usa Atomics para sincronizar hilos. Esto puede mejorar el rendimiento en algunos casos, pero podría causar un fallo de segmentación en versiones antiguas de Node (predeterminado: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Config: poolOptions.vmThreads.isolate
Aísla las pruebas en el pool de hilos de VM (predeterminado: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Config: poolOptions.vmThreads.singleThread
Ejecuta todas las pruebas dentro de un solo hilo de VM (predeterminado: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Config: poolOptions.vmThreads.maxThreads
Número máximo o porcentaje de hilos de VM para ejecutar pruebas.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
Número mínimo o porcentaje de hilos de VM para ejecutar pruebas.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Config: poolOptions.vmThreads.useAtomics
Usa Atomics para sincronizar hilos de VM. Esto puede mejorar el rendimiento en algunos casos, pero podría causar un fallo de segmentación en versiones antiguas de Node (predeterminado: false
).
poolOptions.vmThreads.memoryLimit
- CLI:
--poolOptions.vmThreads.memoryLimit <limit>
- Config: poolOptions.vmThreads.memoryLimit
Límite de memoria para el pool de hilos de VM. Ajusta este valor si observas fugas de memoria.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Config: poolOptions.forks.isolate
Aísla las pruebas en el pool de forks (predeterminado: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Config: poolOptions.forks.singleFork
Ejecuta todas las pruebas dentro de un solo proceso hijo (predeterminado: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <workers>
- Config: poolOptions.forks.maxForks
Número máximo o porcentaje de procesos para ejecutar pruebas.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <workers>
- Config: poolOptions.forks.minForks
Número mínimo o porcentaje de procesos para ejecutar pruebas.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Config: poolOptions.vmForks.isolate
Aísla las pruebas en el pool de forks de VM (predeterminado: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Config: poolOptions.vmForks.singleFork
Ejecuta todas las pruebas dentro de un solo proceso hijo de VM (predeterminado: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Config: poolOptions.vmForks.maxForks
Número máximo o porcentaje de procesos de VM para ejecutar pruebas.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
Número mínimo o porcentaje de procesos de VM para ejecutar pruebas.
poolOptions.vmForks.memoryLimit
- CLI:
--poolOptions.vmForks.memoryLimit <limit>
- Config: poolOptions.vmForks.memoryLimit
Límite de memoria para el pool de forks de VM. Ajusta este valor si observas fugas de memoria.
fileParallelism
- CLI:
--fileParallelism
- Config: fileParallelism
Determina si todos los archivos de prueba deben ejecutarse en paralelo. Usa --no-file-parallelism
para deshabilitar (predeterminado: true
).
maxWorkers
- CLI:
--maxWorkers <workers>
- Config: maxWorkers
Número máximo o porcentaje de workers para ejecutar pruebas.
minWorkers
- CLI:
--minWorkers <workers>
- Config: minWorkers
Número mínimo o porcentaje de workers para ejecutar pruebas.
environment
- CLI:
--environment <name>
- Config: environment
Especifica el entorno del ejecutor de pruebas, si no se ejecuta en el navegador (predeterminado: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Config: passWithNoTests
Considera la ejecución exitosa (pasar) cuando no se encuentran pruebas.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Muestra el tamaño del heap de memoria para cada prueba cuando se ejecuta en Node.
allowOnly
- CLI:
--allowOnly
- Config: allowOnly
Permite que se ejecuten pruebas y suites que están marcadas con .only
(predeterminado: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Config: dangerouslyIgnoreUnhandledErrors
Ignora cualquier error no manejado que ocurra durante la ejecución de las pruebas.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Config: sequence.shuffle.files
Ejecuta los archivos de prueba en un orden aleatorio. Las pruebas largas no se iniciarán antes al habilitar esta opción (predeterminado: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
Ejecuta las pruebas individuales dentro de los archivos en un orden aleatorio (predeterminado: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Config: sequence.concurrent
Permite que las pruebas se ejecuten en paralelo (predeterminado: false
).
sequence.seed
- CLI:
--sequence.seed <seed>
- Config: sequence.seed
Establece la semilla de aleatorización para las pruebas. Esta opción no tendrá efecto si --sequence.shuffle
es falso. Visita la página "Random Seed" para más información.
sequence.hooks
- CLI:
--sequence.hooks <order>
- Config: sequence.hooks
Cambia el orden en que se ejecutan los hooks (ej. beforeEach
, afterAll
). Los valores aceptados son: "stack", "list" y "parallel". Visita sequence.hooks
para más información (predeterminado: "parallel"
).
sequence.setupFiles
- CLI:
--sequence.setupFiles <order>
- Config: sequence.setupFiles
Cambia el orden en que se ejecutan los archivos de configuración (setup files). Los valores aceptados son: "list" y "parallel". Si se establece en "list", ejecutará los archivos de configuración en el orden en que están definidos. Si se establece en "parallel", ejecutará los archivos de configuración en paralelo (predeterminado: "parallel"
).
inspect
- CLI:
--inspect [[host:]port]
- Config: inspect
Habilita el inspector de Node.js para depuración (predeterminado: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Config: inspectBrk
Habilita el inspector de Node.js y detiene la ejecución antes de que inicie la prueba, permitiendo adjuntar un depurador.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
Tiempo de espera predeterminado para la ejecución de una prueba individual en milisegundos (predeterminado: 5000
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Tiempo de espera predeterminado para la ejecución de un hook en milisegundos (predeterminado: 10000
).
bail
- CLI:
--bail <number>
- Config: bail
Detiene la ejecución de pruebas cuando un número dado de pruebas ha fallado (predeterminado: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Reintenta la ejecución de una prueba un número específico de veces si falla (predeterminado: 0
).
diff
- CLI:
--diff <path>
- Config: diff
Ruta a una configuración de diff que se utilizará para generar la interfaz de diff en caso de fallos de instantáneas.
exclude
- CLI:
--exclude <glob>
- Config: exclude
Patrones glob de archivos adicionales a excluir de la búsqueda y ejecución de pruebas.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Muestra el diff completo cuando una instantánea falla, en lugar de un resumen.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Deshabilita la intercepción automática del registro de la consola por parte de Vitest (predeterminado: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
Habilita la verificación de tipos junto con la ejecución de las pruebas (predeterminado: false
).
typecheck.only
- CLI:
--typecheck.only
- Config: typecheck.only
Ejecuta solo pruebas de verificación de tipos. Esto habilita automáticamente la verificación de tipos (predeterminado: false
).
typecheck.checker
- CLI:
--typecheck.checker <name>
- Config: typecheck.checker
Especifica el verificador de tipos a usar. Los valores disponibles son: "tsc", "vue-tsc" o una ruta a un ejecutable (predeterminado: "tsc"
).
typecheck.allowJs
- CLI:
--typecheck.allowJs
- Config: typecheck.allowJs
Permite que los archivos JavaScript sean verificados por tipo. Por defecto, utiliza el valor de tsconfig.json
.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
Ignora los errores de tipo provenientes de los archivos fuente.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
Ruta a un archivo tsconfig.json
personalizado para la verificación de tipos.
project
- CLI:
--project <name>
- Config: project
El nombre del proyecto a ejecutar si estás utilizando la función de espacio de trabajo de Vitest. Se puede repetir para múltiples proyectos: --project=1 --project=2
. También puedes filtrar proyectos usando comodines como --project=packages*
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Umbral en milisegundos para que una prueba se considere lenta y se marque como tal en la salida (predeterminado: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Config: teardownTimeout
Tiempo de espera predeterminado para la ejecución de una función de desmontaje (teardown) en milisegundos (predeterminado: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Config: maxConcurrency
Número máximo de pruebas concurrentes dentro de una suite (predeterminado: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Config: expect.requireAssertions
Requiere que todas las pruebas tengan al menos una aserción para considerarse exitosas.
expect.poll.interval
- CLI:
--expect.poll.interval <interval>
- Config: expect.poll.interval
Intervalo de sondeo en milisegundos para las aserciones expect.poll()
(predeterminado: 50
).
expect.poll.timeout
- CLI:
--expect.poll.timeout <timeout>
- Config: expect.poll.timeout
Tiempo de espera de sondeo en milisegundos para las aserciones expect.poll()
(predeterminado: 1000
).
printConsoleTrace
- CLI:
--printConsoleTrace
- Config: printConsoleTrace
Siempre imprime las trazas de la pila completas para los mensajes de la consola.
run
- CLI:
--run
Deshabilita el modo de observación y ejecuta las pruebas una sola vez.
color
- CLI:
--no-color
Elimina los colores de la salida de la consola.
clearScreen
- CLI:
--clearScreen
Limpia la pantalla del terminal al volver a ejecutar pruebas en modo de observación (predeterminado: true
).
standalone
- CLI:
--standalone
Inicia Vitest sin ejecutar pruebas inmediatamente. Los filtros de archivos serán ignorados, y las pruebas se ejecutarán únicamente al detectar cambios (predeterminado: false
).
changed
- Tipo:
boolean | string
- Por defecto:
false
Ejecuta pruebas solo en los archivos modificados. Si no se proporciona ningún valor, ejecutará pruebas en los cambios no confirmados (incluyendo los cambios en el área de preparación y los no preparados).
Para ejecutar pruebas en los cambios realizados en el último commit, puedes usar --changed HEAD~1
. También puedes pasar el hash del commit (por ejemplo, --changed 09a9920
) o el nombre de la rama (por ejemplo, --changed origin/develop
).
Cuando se usa con la cobertura de código, el informe contendrá solo los archivos relacionados con los cambios.
Si se combina con la opción de configuración forceRerunTriggers
, ejecutará toda la suite de pruebas si al menos uno de los archivos listados en forceRerunTriggers
cambia. Por defecto, los cambios en el archivo de configuración de Vitest y package.json
siempre volverán a ejecutar toda la suite.
shard
- Tipo:
string
- Por defecto: disabled
Segmenta la suite de pruebas a ejecutar en el formato <index>
/<count>
, donde:
count
es un entero positivo, la cantidad total de partes.index
es un entero positivo, el índice de la parte actual (basado en 1).
Este comando dividirá todas las pruebas en count
partes iguales y ejecutará solo las que correspondan a la parte index
. Por ejemplo, para dividir tu suite de pruebas en tres partes, usa esto:
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3
WARNING
No puedes usar esta opción con --watch
habilitado (que está habilitado por defecto en desarrollo).
TIP
Si se usa --reporter=blob
sin un archivo de salida, la ruta predeterminada incluirá la configuración de shard actual para evitar colisiones con otros procesos de Vitest.
merge-reports
- Tipo:
boolean | string
Fusiona todos los informes blob ubicados en la carpeta especificada (.vitest-reports
por defecto). Puedes usar cualquier reportero con este comando (excepto blob
):
vitest --merge-reports --reporter=junit