Skip to content
Vitest 3
Main Navigation Guía & APIConfiguraciónModo NavegadorAPI avanzada
3.2.0
2.1.9
1.6.1
0.34.6

Español

English
简体中文
繁體中文
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Español

English
简体中文
繁體中文
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Apariencia

Sidebar Navigation

Introducción

Por qué Vitest

Primeros pasos

Características

Configuración de Vitest

API

Referencia de la API de prueba

Funciones de Simulación

Vi

expect

expectTypeOf

assert

assertType

Guía

Interfaz de línea de comandos

Filtrado de Tests

Proyectos de prueba

Reportes

Cobertura

Instantáneas

Simulación (Mocking)

Paralelismo

Pruebas de Tipado

Interfaz de usuario de Vitest

Pruebas en el código fuente

Contexto de prueba

Anotaciones de prueba

Entorno de pruebas

Extender Matchers

Integraciones con IDE

Depuración

Errores comunes

Guía de migración

Migración a Vitest 3.0

Migración desde Jest

Rendimiento

Perfilado del rendimiento de las pruebas

Mejorando el Rendimiento

Modo Navegador

API Avanzadas

Comparaciones con otros ejecutores de pruebas

En esta página

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:

bash
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:

bash
$ 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.

bash
$ 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:

bash
$ 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.

bash
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.

js
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:

bash
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:

shell
vitest list filename.spec.ts -t="some-test"
txt
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:

bash
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:

bash
vitest list --filesOnly
txt
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:

sh
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):

sh
vitest --merge-reports --reporter=junit
Pager
AnteriorassertType
SiguienteFiltrado de Tests

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team