Skip to content
Vitest 3
Main Navigation Guida & APIConfigurazioneModalità BrowserAPI avanzata
3.2.0
2.1.9
1.6.1
0.34.6

Italiano

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

Italiano

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

Aspetto

Sidebar Navigation

API

Node API

API Avanzate

API di Vitest

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API dei Plugin

API del Runner

Reporter

Metadati del Task

Guida

Esecuzione dei Test

Estensione dei Reporter

Pool Personalizzato

Configurazione di Vitest

Riferimento API di test

In questa pagina

TestModule ​

La classe TestModule rappresenta un singolo modulo all'interno di un progetto. Questa classe è disponibile esclusivamente nel processo principale. Per interagire con i task di runtime, si prega di fare riferimento alla "Runner API".

L'istanza TestModule possiede sempre una proprietà type con il valore module. Questa può essere utilizzata per distinguere tra diverse tipologie di task:

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

Ereditarietà dei Metodi di TestSuite

La classe TestModule eredita tutti i metodi e le proprietà da TestSuite. Questa guida elencherà solo i metodi e le proprietà che sono unici di TestModule.

moduleId ​

Questo è solitamente un percorso di file UNIX assoluto (anche su sistemi Windows). Può essere un ID virtuale se il file non risiede su disco. Questo valore corrisponde all'ID ModuleGraph di 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;

Si comporta in modo analogo a testSuite.state(), ma può anche restituire queued se il modulo non è ancora stato eseguito.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Metadati personalizzati che sono stati associati al modulo durante la sua esecuzione o raccolta. I metadati possono essere allegati assegnando una proprietà all'oggetto task.meta durante un'esecuzione di test:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // assegna "decorated" durante la raccolta
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // assegna "decorated" durante l'esecuzione del test; sarà disponibile
    // solo nell'hook onTestCaseReady
    task.file.meta.decorated = false;
  });
});

TIP

Se i metadati sono stati allegati durante la fase di raccolta (al di fuori della funzione test), saranno disponibili nell'hook onTestModuleCollected all'interno del reporter personalizzato.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Informazioni utili relative al modulo, come la durata, l'utilizzo della memoria e altro. Se il modulo non è ancora stato eseguito, tutti i valori diagnostici restituiranno 0.

ts
interface ModuleDiagnostic {
  /**
   * Il tempo necessario per importare e avviare un ambiente.
   */
  readonly environmentSetupDuration: number;
  /**
   * Il tempo necessario a Vitest per configurare l'ambiente di test (runner, mock, ecc.).
   */
  readonly prepareDuration: number;
  /**
   * Il tempo necessario per importare il modulo di test.
   * Questo include l'importazione di tutto il contenuto del modulo e l'esecuzione dei callback della suite.
   */
  readonly collectDuration: number;
  /**
   * Il tempo necessario per importare il modulo di setup.
   */
  readonly setupDuration: number;
  /**
   * Durata accumulata di tutti i test e gli hook all'interno del modulo.
   */
  readonly duration: number;
  /**
   * La quantità di memoria utilizzata dal modulo in byte.
   * Questo valore è disponibile solo se il test viene eseguito con il flag `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * Il tempo impiegato per importare ogni dipendenza non esternalizzata che Vitest ha elaborato.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** Il tempo impiegato per importare ed eseguire un file non esternalizzato. */
interface ImportDuration {
  /** Il tempo impiegato per importare ed eseguire il file stesso, senza contare tutte le importazioni non esternalizzate che il file include. */
  selfTime: number;

  /** Il tempo impiegato per importare ed eseguire il file e tutte le sue importazioni. */
  totalTime: number;
}
Pager
Pagina precedenteTestSuite
Pagina successivaTestCollection

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team

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

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team