Skip to content
Vitest 3
Main Navigation Przewodnik & APIKonfiguracjaTryb przeglądarkiZaawansowane API
3.2.0
2.1.9
1.6.1
0.34.6

Polski

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

Polski

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

Wygląd

Sidebar Navigation

API

Node API

Zaawansowane API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API wtyczek

API modułu uruchamiającego

Reportery

Metadane zadań

Przewodnik

Uruchamianie testów

Rozszerzanie Reporterów

Niestandardowa pula

Konfiguracja Vitest

Dokumentacja API testowego

Na tej stronie

TestModule ​

Klasa TestModule reprezentuje pojedynczy moduł w ramach pojedynczego projektu testowego. Jest ona dostępna wyłącznie w głównym wątku. Aby uzyskać informacje na temat pracy z zadaniami uruchomieniowymi, zapoznaj się z sekcją "Runner API".

Instancja TestModule zawsze posiada właściwość type o wartości module. Możesz jej użyć do rozróżnienia między różnymi typami zadań:

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

Rozszerzanie metod zestawu testów

Klasa TestModule dziedziczy wszystkie metody i właściwości z TestSuite. Niniejszy przewodnik wymienia jedynie metody i właściwości unikalne dla TestModule.

moduleId ​

Zazwyczaj jest to bezwzględna ścieżka pliku w formacie uniksowym (nawet w systemie Windows). Może to być wirtualny identyfikator, jeśli plik nie znajduje się na dysku. Ta wartość odpowiada ID ModuleGraph w 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;

Działa analogicznie do testSuite.state(), ale może również zwrócić queued, jeśli moduł nie został jeszcze wykonany.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Własne metadane, które zostały dołączone do modułu podczas jego wykonywania lub zbierania testów. Metadane można dołączyć, przypisując właściwość do obiektu task.meta w trakcie przebiegu testów:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // przypisano "decorated" podczas zbierania testów
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // przypisano "decorated" podczas przebiegu testów, będzie dostępne
    // tylko w hooku `onTestCaseReady`
    task.file.meta.decorated = false;
  });
});

TIP

Jeśli metadane zostały dołączone podczas zbierania testów (poza funkcją test), będą dostępne w hooku onTestModuleCollected w niestandardowym raporcie.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Przydatne informacje dotyczące modułu, takie jak czas trwania, zużycie pamięci i inne podobne dane. Jeśli moduł nie został jeszcze przetworzony, wszystkie wartości diagnostyczne zwrócą 0.

ts
interface ModuleDiagnostic {
  /**
   * Czas potrzebny na import i inicjalizację środowiska.
   */
  readonly environmentSetupDuration: number;
  /**
   * Czas, jaki Vitest potrzebuje na skonfigurowanie środowiska testowego (runner, mocki itp.).
   */
  readonly prepareDuration: number;
  /**
   * Czas potrzebny na zaimportowanie modułu testowego.
   * Obejmuje import wszystkich elementów w module i wykonywanie funkcji zwrotnych zestawu.
   */
  readonly collectDuration: number;
  /**
   * Czas potrzebny na zaimportowanie modułu konfiguracyjnego.
   */
  readonly setupDuration: number;
  /**
   * Skumulowany czas wszystkich testów i hooków w module.
   */
  readonly duration: number;
  /**
   * Ilość pamięci zajmowanej przez moduł w bajtach.
   * Ta wartość jest dostępna tylko, jeśli test został wykonany z flagą `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * Czas poświęcony na import każdej nieeksternalizowanej zależności, którą Vitest przetworzył.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** Czas spędzony na importowaniu i wykonywaniu nieeksternalizowanego pliku. */
interface ImportDuration {
  /** Czas spędzony na importowaniu i wykonywaniu samego pliku, bez uwzględniania wszystkich nieeksternalizowanych importów, które ten plik zawiera. */
  selfTime: number;

  /** Czas spędzony na importowaniu i wykonywaniu pliku oraz wszystkich jego importów. */
  totalTime: number;
}
Pager
Poprzednia stronaTestSuite
Następna stronaTestCollection

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

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

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team