Skip to content
Vitest 3
Main Navigation Průvodce & APIKonfiguraceRežim prohlížečePokročilé API
3.2.0
2.1.9
1.6.1
0.34.6

čeština

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

čeština

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

Vzhled

Sidebar Navigation

API

Node API

Rozšířené API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin API

Runner API

Reportéry

Metadata úloh

Průvodce

Spouštění testů

Rozšíření reportérů

Vlastní pool

Konfigurace Vitestu

Testovací reference API

Na této stránce

TestModule ​

Třída TestModule reprezentuje jeden modul v rámci projektu. Tato třída je dostupná pouze v hlavním vlákně. Pro práci s runtime úkoly se podívejte na "Runner API".

Instance TestModule má vždy vlastnost type s hodnotou module. Tuto vlastnost můžete použít k rozlišení mezi různými typy úkolů:

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

Rozšíření metod testovací sady

Třída TestModule dědí všechny metody a vlastnosti z TestSuite. Tato příručka uvádí pouze metody a vlastnosti, které jsou specifické pro TestModule.

moduleId ​

Obvykle se jedná o absolutní cestu k souboru ve formátu Unix (i na Windows). Může to být virtuální identifikátor, pokud soubor není uložen na disku. Tato hodnota odpovídá ID ModuleGraph používanému ve 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;

Funguje stejně jako testSuite.state(). Může však také vrátit queued, pokud modul ještě nebyl spuštěn.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Vlastní metadata, která byla připojena k modulu během jeho spuštění nebo sběru. Metadata lze přidat přiřazením vlastnosti k objektu task.meta během testovacího běhu:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // přiřazeno "decorated" během sběru
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // přiřazeno "decorated" během testovacího běhu, bude dostupné
    // pouze v hooku onTestCaseReady
    task.file.meta.decorated = false;
  });
});

TIP

Pokud byla metadata připojena během sběru (mimo funkci test), pak budou k dispozici v hooku onTestModuleCollected ve vlastním reportéru.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Užitečné informace o modulu, jako je doba trvání, využití paměti a další. Pokud modul ještě nebyl spuštěn, všechny diagnostické hodnoty budou 0.

ts
interface ModuleDiagnostic {
  /**
   * Doba potřebná k importu a inicializaci prostředí.
   */
  readonly environmentSetupDuration: number;
  /**
   * Doba potřebná pro Vitest k nastavení testovacího prostředí (runner, mocky atd.).
   */
  readonly prepareDuration: number;
  /**
   * Doba potřebná k importu testovacího modulu.
   * Zahrnuje import všeho v modulu a spuštění callbacků sady.
   */
  readonly collectDuration: number;
  /**
   * Doba potřebná k importu modulu nastavení.
   */
  readonly setupDuration: number;
  /**
   * Kumulovaná doba trvání všech testů a hooků v modulu.
   */
  readonly duration: number;
  /**
   * Množství paměti použité modulem v bajtech.
   * Tato hodnota je dostupná pouze v případě, že test byl spuštěn s příznakem `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * Čas strávený importem každé ne-externalizované závislosti, kterou Vitest zpracoval.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** Čas strávený importem a spuštěním ne-externalizovaného souboru. */
interface ImportDuration {
  /** Čas strávený importem a spuštěním samotného souboru, nepočítaje všechny ne-externalizované importy, které soubor provádí. */
  selfTime: number;

  /** Čas strávený importem a spuštěním souboru a všech jeho importů. */
  totalTime: number;
}
Pager
Předchozí stránkaTestSuite
Další stránkaTestCollection

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team

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

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team