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

TestModule ​

La clase TestModule representa un único módulo dentro de un proyecto. Esta clase solo está disponible en el hilo principal del proceso. Para trabajar con tareas en tiempo de ejecución, consulta la "API del Runner".

Una instancia de TestModule siempre tendrá una propiedad type con el valor module. Puedes usarla para diferenciar entre distintos tipos de tareas:

ts
if (task.type === 'module') {
  task; // TestModule
}

Extensión de métodos de Suite

La clase TestModule hereda todos los métodos y propiedades de TestSuite. Esta guía solo listará los métodos y propiedades específicos de TestModule.

moduleId ​

Generalmente, es una ruta de archivo Unix absoluta (incluso en Windows). Puede ser un identificador virtual si el archivo no se encuentra en el disco. Este valor corresponde al ID de ModuleGraph de Vite.

ts
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌

state ​

ts
function state(): TestModuleState;

Funciona de manera similar a testSuite.state(), pero también puede devolver queued si el módulo aún no se ha ejecutado.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Metadatos personalizados adjuntados al módulo durante su ejecución o recopilación. Los metadatos se pueden adjuntar asignando una propiedad al objeto task.meta durante una ejecución de prueba:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // Asignar 'decorated' durante la recopilación
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // Asignar 'decorated' durante la ejecución de la prueba; estará disponible
    // solo en el hook onTestCaseReady
    task.file.meta.decorated = false;
  });
});

TIP

Si los metadatos se adjuntaron durante la recopilación (fuera de la función test), estarán disponibles en el hook onTestModuleCollected en el reporter personalizado.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Información útil sobre el módulo, como la duración, el uso de memoria, etc. Si el módulo aún no se ha ejecutado, todos los valores de diagnóstico devolverán 0.

ts
interface ModuleDiagnostic {
  /**
   * Tiempo necesario para importar e inicializar un entorno.
   */
  readonly environmentSetupDuration: number;
  /**
   * Tiempo que tarda Vitest en configurar el entorno de prueba (runner, mocks, etc.).
   */
  readonly prepareDuration: number;
  /**
   * Tiempo que tarda en importar el módulo de prueba.
   * Esto incluye importar todo en el módulo y ejecutar los callbacks de la suite.
   */
  readonly collectDuration: number;
  /**
   * Tiempo que tarda en importar el módulo de configuración.
   */
  readonly setupDuration: number;
  /**
   * Duración acumulada de todas las pruebas y hooks en el módulo.
   */
  readonly duration: number;
  /**
   * Cantidad de memoria utilizada por el módulo, en bytes.
   * Este valor solo está disponible si la prueba se ejecutó con la opción `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * Tiempo dedicado a importar cada dependencia no externa que Vitest ha procesado.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** Tiempo dedicado a importar y ejecutar un archivo no externo. */
interface ImportDuration {
  /** Tiempo dedicado a importar y ejecutar el archivo en sí, sin contar todas las importaciones no externas que realiza el archivo. */
  selfTime: number;

  /** Tiempo dedicado a importar y ejecutar el archivo y todas sus importaciones. */
  totalTime: number;
}
Pager
AnteriorTestSuite
SiguienteTestCollection

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/api/test-module

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team