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

API

Node API

API Avanzadas

API de Vitest

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API de Plugins

API del Runner

Reporteros

Metadatos de Tareas

Guía

Ejecución de Pruebas

Extensión de los Reporters

Pool Personalizado

Configuración de Vitest

Referencia de la API de prueba

En esta página

API Avanzadas ​

WARNING

Esta guía detalla las API avanzadas para ejecutar pruebas mediante un script de Node.js. Si solo buscas ejecutar pruebas, es probable que no necesites estas funcionalidades. Están diseñadas principalmente para autores de librerías.

Puedes importar cualquier método desde el punto de entrada vitest/node.

startVitest ​

ts
function startVitest(
  mode: VitestRunMode,
  cliFilters: string[] = [],
  options: CliOptions = {},
  viteOverrides?: ViteUserConfig,
  vitestOptions?: VitestOptions
): Promise<Vitest>;

Puedes iniciar la ejecución de pruebas de Vitest utilizando su API de Node.js:

js
import { startVitest } from 'vitest/node';

const vitest = await startVitest('test');

await vitest.close();

La función startVitest devuelve una instancia de Vitest si las pruebas se pueden iniciar correctamente.

Si el modo de vigilancia no está habilitado, Vitest invocará automáticamente el método close.

Si el modo de vigilancia está habilitado y la terminal soporta TTY, Vitest registrará atajos de consola.

Puedes proporcionar una lista de filtros como segundo argumento. Vitest solo ejecutará las pruebas cuyas rutas de archivo contengan al menos una de las cadenas proporcionadas.

Además, puedes usar el tercer argumento para pasar argumentos de CLI, los cuales sobrescribirán cualquier opción de configuración de prueba. Alternativamente, puedes pasar la configuración completa de Vite como cuarto argumento, lo que tendrá prioridad sobre cualquier otra opción definida por el usuario.

Después de ejecutar las pruebas, puedes obtener los resultados utilizando la API state.getTestModules:

ts
import type { TestModule } from 'vitest/node';

const vitest = await startVitest('test');

console.log(vitest.state.getTestModules()); // [TestModule]

TIP

La guía "Ejecutando Pruebas" incluye un ejemplo de uso.

createVitest ​

ts
function createVitest(
  mode: VitestRunMode,
  options: CliOptions,
  viteOverrides: ViteUserConfig = {},
  vitestOptions: VitestOptions = {}
): Promise<Vitest>;

Puedes crear una instancia de Vitest utilizando la función createVitest. Esta función devuelve la misma instancia de Vitest que startVitest, pero no inicia las pruebas ni valida los paquetes instalados.

js
import { createVitest } from 'vitest/node';

const vitest = await createVitest('test', {
  watch: false,
});

TIP

La guía "Ejecutando Pruebas" incluye un ejemplo de uso.

resolveConfig ​

ts
function resolveConfig(
  options: UserConfig = {},
  viteOverrides: ViteUserConfig = {}
): Promise<{
  vitestConfig: ResolvedConfig;
  viteConfig: ResolvedViteConfig;
}>;

Este método resuelve la configuración basándose en parámetros personalizados. Si no se proporcionan parámetros, la raíz será process.cwd().

ts
import { resolveConfig } from 'vitest/node';

// vitestConfig solo contiene propiedades "test" resueltas
const { vitestConfig, viteConfig } = await resolveConfig({
  mode: 'custom',
  configFile: false,
  resolve: {
    conditions: ['custom'],
  },
  test: {
    setupFiles: ['/my-setup-file.js'],
    pool: 'threads',
  },
});

INFO

Debido a la forma en que funciona createServer de Vite, Vitest debe resolver la configuración durante el hook configResolve del plugin. Por lo tanto, este método no se utiliza internamente y se expone únicamente como una API pública.

Si pasas la configuración a las API startVitest o createVitest, Vitest volverá a resolver la configuración.

WARNING

resolveConfig no resuelve los projects. Para resolver las configuraciones de los proyectos, Vitest requiere un servidor Vite en funcionamiento.

Ten en cuenta también que viteConfig.test no se resolverá completamente. Si necesitas la configuración de Vitest, utiliza vitestConfig en su lugar.

parseCLI ​

ts
function parseCLI(
  argv: string | string[],
  config: CliParseOptions = {}
): {
  filter: string[];
  options: CliOptions;
};

Puedes usar este método para analizar los argumentos de la CLI. Acepta una cadena (donde los argumentos se dividen por un solo espacio) o un array de cadenas con argumentos de la CLI en el mismo formato que utiliza la CLI de Vitest. Devuelve un filtro y las options que puedes pasar posteriormente a los métodos createVitest o startVitest.

ts
import { parseCLI } from 'vitest/node';

const result = parseCLI('vitest ./files.ts --coverage --browser=chrome');

result.options;
// {
//   coverage: { enabled: true },
//   browser: { name: 'chrome', enabled: true }
// }

result.filter;
// ['./files.ts']
Pager
SiguienteAPI de Vitest

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team