Interfaz de línea de comandos
Comandos
vitest
Inicia Vitest en el directorio actual. Se ejecutará automáticamente en modo de vigilancia en entornos de desarrollo y en modo de ejecución única en CI (o terminales no interactivas).
Puedes pasar un argumento adicional como filtro para los archivos de prueba a ejecutar. Por ejemplo:
vitest foobar
Esto ejecutará solo los archivos de prueba que contengan foobar
en su ruta. Este filtro solo comprueba 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).
Desde Vitest 3, también puedes especificar la prueba por el nombre del archivo y el número de línea:
$ vitest basic/foo.test.ts:10
WARNING
Ten en cuenta que Vitest requiere el nombre completo del archivo para que esta característica funcione. Puede ser una ruta relativa al directorio de trabajo actual o una ruta de archivo absoluta.
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌
Por el momento, Vitest no admite rangos de líneas:
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌
vitest run
Realiza una única ejecución de las pruebas sin modo de vigilancia.
vitest watch
Ejecuta todas las suites de prueba, pero observa los cambios y vuelve a ejecutar las pruebas cuando estos ocurren. Equivale a llamar a vitest
sin argumentos. Recurrirá a vitest run
en CI o cuando la entrada estándar no sea un TTY (entorno no interactivo).
vitest dev
Alias de vitest watch
.
vitest related
Ejecuta solo las pruebas que cubren una lista de archivos fuente. Funciona con importaciones estáticas (ej: import('./index.js')
o import index from './index.js
), pero no con las dinámicas (ej: import(filepath)
). Todos los archivos deben ser rutas relativas a la carpeta raíz del proyecto.
Resulta útil para integrar con lint-staged
o con tu configuración de CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Recuerda que Vitest se ejecuta con el modo de vigilancia 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 normalmente.
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Ejecuta solo pruebas de benchmark, que comparan el rendimiento.
vitest init
vitest init <name>
puede usarse para establecer la configuración del proyecto. Actualmente, solo admite el valor browser
:
vitest init browser
vitest list
El comando vitest list
hereda todas las opciones de vitest
para imprimir la lista de todas las pruebas coincidentes. Este comando ignora la opción reporters
. Por defecto, mostrará 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, mostrará el JSON por 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 los argumentos de la CLI. Por ejemplo, --passWithNoTests
y --pass-with-no-tests
funcionarán ambos (--no-color
y --inspect-brk
son las excepciones).
Vitest también admite diferentes formas de especificar el valor: --reporter dot
y --reporter=dot
ambos son 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 pueden negarse con el prefijo no-
. Especificar el valor como false
también es válido:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Ruta principal 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).
watch
- CLI:
-w, --watch
- Config: watch
Habilita el modo de observación (watch mode).
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 escanear 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 (predeterminado: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Especifica el puerto del servidor. Si el puerto ya está en uso, Vite intentará automáticamente el siguiente puerto disponible, por lo que este podría no ser el puerto real en el que el servidor termine escuchando. Si se especifica true
como valor, se establecerá en 51204
.
api.host
- CLI:
--api.host [host]
Especifica en qué direcciones IP debe escuchar el servidor. Establece en 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 [value]
- Config: silent
Silencia la salida de consola de las pruebas. Usa 'passed-only'
para ver solo los registros de las pruebas fallidas.
hideSkippedTests
- CLI:
--hideSkippedTests
Oculta los registros de las pruebas omitidas.
reporters
- CLI:
--reporter <name>
- Config: reporters
Especifica los reporteros a usar (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Escribe los resultados de la prueba en un archivo cuando también se especifica un reportero compatible. Usa la notación de puntos para salidas individuales de múltiples reporteros (ejemplo: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
Indica si se deben incluir todos los archivos, incluidos los no 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. Puede ser anulado usando la opción CLI --coverage
(predeterminado: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
Patrones glob de archivos a incluir en la cobertura. Puede especificarse más de una vez cuando se usan múltiples patrones (predeterminado: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
Patrones glob de archivos a excluir de la cobertura. Puede especificarse más de una vez cuando se usan múltiples patrones (predeterminado: Visita coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <extension>
- Config: coverage.extension
Extensiones de archivo a incluir en la cobertura. Puede especificarse más de una vez cuando se usan 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 volver a ejecutar en modo de observación (predeterminado: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Config: coverage.reportsDirectory
Directorio donde se escribirá el informe de cobertura (predeterminado: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Config: coverage.reporter
Reporteros de cobertura a usar. 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 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 (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 ("lines", "functions", "branches" y "statements") en el archivo de configuración cuando la cobertura actual esté por encima de 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 el proveedor de cobertura personalizado. Visita Custom Coverage Provider para más información. Esta opción es exclusiva para proveedores personalizados.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <watermarks>
Umbrales altos y bajos para sentencias en el formato <alto>,<bajo>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Umbrales altos y bajos para líneas en el formato <alto>,<bajo>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Umbrales altos y bajos para ramas en el formato <alto>,<bajo>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Umbrales altos y bajos para funciones en el formato <alto>,<bajo>
.
mode
- CLI:
--mode <name>
- Config: mode
Anula el modo Vite (predeterminado: test
o benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
[Obsoleto] Ruta a un archivo de configuración del 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 API de Vitest globalmente.
dom
- CLI:
--dom
Simula la API del navegador con happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Ejecuta pruebas en el navegador. Equivalente a --browser.enabled
(predeterminado: false
).
browser.name
- CLI:
--browser.name <name>
- Config: browser.name
Ejecuta todas las pruebas en un navegador determinado. 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 interfaz gráfica (es decir, sin abrir la interfaz de usuario). Si estás ejecutando Vitest en 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. Si el puerto ya está en uso, Vite intentará automáticamente el siguiente puerto disponible, por lo que este podría no ser el puerto real en el que el servidor termine escuchando. Si se especifica true
como valor, se establecerá en 63315
.
browser.api.host
- CLI:
--browser.api.host [host]
- Config: browser.api.host
Especifica en qué direcciones IP debe escuchar el servidor. Establece en 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.
browser.provider
- CLI:
--browser.provider <name>
- Config: browser.provider
Proveedor utilizado para ejecutar pruebas de navegador. Algunos navegadores solo están disponibles para proveedores específicos. 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 (predeterminado: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
Ejecuta archivos de prueba del navegador en paralelo. Usa --browser.fileParallelism=false
para deshabilitar (predeterminado: true
).
browser.connectTimeout
- CLI:
--browser.connectTimeout <timeout>
- Config: browser.connectTimeout
Si la conexión al navegador excede el tiempo límite, el conjunto de pruebas fallará (predeterminado: 60_000
).
pool
- CLI:
--pool <pool>
- Config: pool
Especifica el pool de ejecución, si no se ejecuta en el navegador (predeterminado: forks
).
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 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 en los que ejecutar pruebas.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Config: poolOptions.threads.minThreads
Número mínimo o porcentaje de hilos en los que 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 error 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 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 en los que ejecutar pruebas.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
Número mínimo o porcentaje de hilos de VM en los que 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 error 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. Si observas fugas de memoria, considera ajustar este valor.
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 las pruebas en un solo child_process
(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 las pruebas en un solo child_process
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. Si observas fugas de memoria, considera ajustar este valor.
fileParallelism
- CLI:
--fileParallelism
- Config: fileParallelism
Indica 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 trabajadores para ejecutar pruebas.
minWorkers
- CLI:
--minWorkers <workers>
- Config: minWorkers
Número mínimo o porcentaje de trabajadores para ejecutar pruebas.
environment
- CLI:
--environment <name>
- Config: environment
Especifica el entorno del ejecutor, si no se ejecuta en el navegador (predeterminado: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Config: passWithNoTests
Indica que las pruebas deben pasar incluso si no se encuentran pruebas.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Muestra el tamaño del heap para cada prueba cuando se ejecuta en Node.
allowOnly
- CLI:
--allowOnly
- Config: allowOnly
Permite la ejecución de pruebas y suites 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. Ten en cuenta que las pruebas de larga duración no se iniciarán antes si habilitas esta opción (predeterminado: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
Ejecuta las pruebas individuales en un orden aleatorio (predeterminado: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Config: sequence.concurrent
Hace 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 la ejecución de 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. 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 (predeterminado: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Config: inspectBrk
Habilita el inspector de Node.js y pausa la ejecución antes de que comience la prueba.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
Tiempo de espera predeterminado de una prueba en milisegundos (predeterminado: 5000
). Usa 0
para deshabilitar el tiempo de espera por completo.
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Tiempo de espera predeterminado de un hook en milisegundos (predeterminado: 10000
). Usa 0
para deshabilitar el tiempo de espera por completo.
bail
- CLI:
--bail <number>
- Config: bail
Detiene la ejecución de la prueba cuando un número determinado de pruebas ha fallado (predeterminado: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Reintenta la prueba un número específico de veces si falla (predeterminado: 0
).
diff.aAnnotation
- CLI:
--diff.aAnnotation <annotation>
- Config: diff.aAnnotation
Anotación para líneas esperadas en la salida de la diferencia (predeterminado: Expected
).
diff.aIndicator
- CLI:
--diff.aIndicator <indicator>
- Config: diff.aIndicator
Indicador para líneas esperadas en la salida de la diferencia (predeterminado: -
).
diff.bAnnotation
- CLI:
--diff.bAnnotation <annotation>
- Config: diff.bAnnotation
Anotación para líneas recibidas en la salida de la diferencia (predeterminado: Received
).
diff.bIndicator
- CLI:
--diff.bIndicator <indicator>
- Config: diff.bIndicator
Indicador para líneas recibidas en la salida de la diferencia (predeterminado: +
).
diff.commonIndicator
- CLI:
--diff.commonIndicator <indicator>
- Config: diff.commonIndicator
Indicador para líneas comunes en la salida de la diferencia (predeterminado: ).
diff.contextLines
- CLI:
--diff.contextLines <lines>
- Config: diff.contextLines
Número de líneas de contexto a mostrar alrededor de cada cambio en la salida de la diferencia (predeterminado: 5
).
diff.emptyFirstOrLastLinePlaceholder
- CLI:
--diff.emptyFirstOrLastLinePlaceholder <placeholder>
- Config: diff.emptyFirstOrLastLinePlaceholder
Marcador de posición para una primera o última línea vacía en la salida de la diferencia (predeterminado: ""
).
diff.expand
- CLI:
--diff.expand
- Config: diff.expand
Expande todas las líneas comunes en la salida de la diferencia (predeterminado: true
).
diff.includeChangeCounts
- CLI:
--diff.includeChangeCounts
- Config: diff.includeChangeCounts
Incluye recuentos de cambios en la salida de la diferencia (predeterminado: false
).
diff.omitAnnotationLines
- CLI:
--diff.omitAnnotationLines
- Config: diff.omitAnnotationLines
Omite las líneas de anotación de la salida de la diferencia (predeterminado: false
).
diff.printBasicPrototype
- CLI:
--diff.printBasicPrototype
- Config: diff.printBasicPrototype
Imprime el prototipo básico de Object
y Array
en la salida de la diferencia (predeterminado: true
).
diff.maxDepth
- CLI:
--diff.maxDepth <maxDepth>
- Config: diff.maxDepth
Limita la profundidad de recursión al imprimir objetos anidados en la salida de la diferencia (predeterminado: 20
).
diff.truncateThreshold
- CLI:
--diff.truncateThreshold <threshold>
- Config: diff.truncateThreshold
Número de líneas a mostrar antes y después de cada cambio en la salida de la diferencia (predeterminado: 0
).
diff.truncateAnnotation
- CLI:
--diff.truncateAnnotation <annotation>
- Config: diff.truncateAnnotation
Anotación para líneas truncadas en la salida de la diferencia (predeterminado: ... Diff result is truncated
).
exclude
- CLI:
--exclude <glob>
- Config: exclude
Patrones glob de archivos adicionales a excluir de la ejecución de pruebas.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Muestra la diferencia completa cuando falla una instantánea.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Deshabilita la intercepción automática del registro de la consola (predeterminado: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
Habilita la verificación de tipos junto con 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" y 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, toma el valor de tsconfig.json
.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
Ignora errores de tipo de los archivos fuente.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
Ruta a un archivo tsconfig
personalizado.
typecheck.spawnTimeout
- CLI:
--typecheck.spawnTimeout <time>
- Config: typecheck.spawnTimeout
Tiempo mínimo en milisegundos que tarda en iniciar el verificador de tipos.
project
- CLI:
--project <name>
- Config: project
El nombre del proyecto a ejecutar si estás usando la función de espacio de trabajo de Vitest. Esto puede repetirse para múltiples proyectos: --project=1 --project=2
. También puedes filtrar proyectos usando comodines como --project=packages*
, y excluir proyectos con --project=!pattern
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Umbral en milisegundos para que una prueba o suite se considere lenta (predeterminado: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Config: teardownTimeout
Tiempo de espera predeterminado de una función de desmontaje (teardown) en milisegundos (predeterminado: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Config: maxConcurrency
Número máximo de pruebas concurrentes en una suite (predeterminado: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Config: expect.requireAssertions
Requiere que todas las pruebas tengan al menos una aserción.
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 de la consola.
includeTaskLocation
- CLI:
--includeTaskLocation
- Config: includeTaskLocation
Recopila las ubicaciones de las pruebas y suites en la propiedad location
.
attachmentsDir
- CLI:
--attachmentsDir <dir>
- Config: attachmentsDir
El directorio donde se almacenan los adjuntos de context.annotate
(predeterminado: .vitest-attachments
).
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
).
configLoader
- CLI:
--configLoader <loader>
Usa bundle
para empaquetar la configuración con esbuild o runner
(experimental) para procesarla sobre la marcha. Esto solo está disponible en Vite versión 6.1.0 y superiores (predeterminado: bundle
).
standalone
- CLI:
--standalone
Inicia Vitest sin ejecutar pruebas inmediatamente. Los filtros de archivos serán ignorados, y las pruebas se ejecutarán solo al detectar cambios (predeterminado: false
).
changed
- Tipo:
boolean | string
- Por defecto: false
Ejecuta pruebas solo en archivos modificados. Si no se proporciona ningún valor, ejecutará pruebas sobre cambios no confirmados (incluyendo los preparados (staged) y 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
Divide la suite de pruebas a ejecutar en el formato <index>
/<count>
, donde:
count
es un entero positivo, el número total de partes en que se divide la suite.index
es un entero positivo, el índice de la parte específica a ejecutar (basado en 1).
Este comando dividirá todas las pruebas en count
partes iguales y ejecutará solo aquellas que se encuentren en 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 (activado por defecto en desarrollo).
TIP
Si se usa --reporter=blob
sin un archivo de salida, la ruta predeterminada incluirá la configuración de fragmento actual para evitar colisiones con otros procesos de Vitest.
merge-reports
- Tipo:
boolean | string
Combina cada informe blob ubicado en la carpeta especificada (.vitest-reports
por defecto). Puedes usar cualquier reportero con este comando (excepto blob
):
vitest --merge-reports --reporter=junit