Skip to content
Vitest 3
Main Navigation Guide & APIConfigurationMode NavigateurAPI avancée
3.2.0
2.1.9
1.6.1
0.34.6

Français

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

Français

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

Apparence

Sidebar Navigation

API

Node API

API avancée

API Vitest

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API des plugins

API du Runner

Rapporteurs

Métadonnées de tâche

Guide

Exécuter les tests

Extension des Rapporteurs

Pool personnalisé

Configuration de Vitest

Référence de l'API des Tests

Sur cette page

TestModule ​

La classe TestModule représente un module unique au sein d'un projet. Cette classe est exclusivement disponible dans le thread principal. Pour interagir avec les tâches d'exécution, veuillez vous référer à l'"API du Runner".

L'instance TestModule possède toujours une propriété type dont la valeur est module. Vous pouvez l'utiliser pour distinguer les différents types de tâches :

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

Extension des méthodes de suite

La classe TestModule hérite de toutes les méthodes et propriétés de la classe TestSuite. Ce guide ne listera que les méthodes et propriétés spécifiques à TestModule.

moduleId ​

Il s'agit généralement d'un chemin de fichier Unix absolu (même sous Windows). Il peut s'agir d'un identifiant virtuel si le fichier n'est pas présent sur le disque. Cette valeur correspond à l'identifiant 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;

Fonctionne de manière similaire à testSuite.state(), mais peut également retourner queued si le module n'a pas encore été exécuté.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Métadonnées personnalisées associées au module pendant son exécution ou sa collecte. Les métadonnées peuvent être associées en affectant une propriété à l'objet task.meta lors de l'exécution d'un test :

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // affecte "decorated" pendant la collecte
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // affecte "decorated" pendant l'exécution du test, il sera disponible
    // uniquement dans le crochet onTestCaseReady
    task.file.meta.decorated = false;
  });
});

TIP

Si des métadonnées ont été associées pendant la phase de collecte (en dehors de la fonction test), elles seront disponibles dans le crochet onTestModuleCollected du reporter personnalisé.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Informations utiles sur le module, telles que la durée et l'utilisation de la mémoire. Si le module n'a pas encore été exécuté, toutes les valeurs de diagnostic retourneront 0.

ts
interface ModuleDiagnostic {
  /**
   * Le temps nécessaire pour importer et initialiser un environnement.
   */
  readonly environmentSetupDuration: number;
  /**
   * Le temps nécessaire à Vitest pour configurer l'infrastructure de test (runner, mocks, etc.).
   */
  readonly prepareDuration: number;
  /**
   * Le temps nécessaire pour importer le module de test.
   * Cela inclut l'importation de tout le contenu du module et l'exécution des callbacks de suite.
   */
  readonly collectDuration: number;
  /**
   * Le temps nécessaire pour importer le module de configuration.
   */
  readonly setupDuration: number;
  /**
   * Durée cumulée de tous les tests et crochets dans le module.
   */
  readonly duration: number;
  /**
   * La quantité de mémoire utilisée par le module en octets.
   * Cette valeur n'est disponible que si le test a été exécuté avec l'option `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * Le temps passé à importer chaque dépendance non externalisée traitée par Vitest.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** Le temps passé à importer et exécuter un fichier non externalisé. */
interface ImportDuration {
  /** Le temps passé à importer et exécuter le fichier lui-même, sans compter toutes les importations non externalisées que le fichier effectue. */
  selfTime: number;

  /** Le temps passé à importer et exécuter le fichier et toutes ses importations. */
  totalTime: number;
}
Pager
Page précédenteTestSuite
Page suivanteTestCollection

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team

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

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team