Skip to content
Vitest 3
Main Navigation ガイド & API設定ブラウザモード高度なAPI
3.2.0
2.1.9
1.6.1
0.34.6

日本語

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

日本語

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

外観

Sidebar Navigation

API

Node API

上級者向けAPI

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

プラグイン API

Runner API

レポーター

タスクのメタデータ

ガイド

テストの実行

レポーターの拡張

カスタムプール

Vitest の設定

テストAPIリファレンス

このページの内容

TestModule ​

TestModule クラスは、単一のプロジェクト内の単一のモジュールを表します。このクラスはメインスレッドでのみ使用可能です。ランタイムタスクを扱う場合は、「Runner API」を参照してください。

TestModule インスタンスは常に type プロパティを持ち、その値は module です。これを使って異なるタスクタイプを区別できます。

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

スイートメソッドの拡張

TestModule クラスは、TestSuite のすべてのメソッドとプロパティを継承します。このガイドでは、TestModule に固有のメソッドとプロパティのみを記載します。

moduleId ​

これは通常、Unix形式の絶対ファイルパスです(Windowsでも同様です)。ファイルがディスク上に存在しない場合は、仮想IDになることがあります。この値は Vite の ModuleGraph ID に対応します。

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;

testSuite.state() と同様に動作しますが、モジュールがまだ実行されていない場合は queued を返すこともあります。

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

モジュールの実行時または収集時にモジュールにアタッチされるカスタムメタデータです。メタデータはテスト実行時に task.meta オブジェクトにプロパティを割り当てることでアタッチ可能です。

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // 収集中に "decorated" を割り当てる
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // テスト実行中に "decorated" を割り当てる。これは
    // onTestCaseReady フックでのみ利用可能です
    task.file.meta.decorated = false;
  });
});

TIP

メタデータが収集中(test 関数の外)にアタッチされた場合、カスタムレポーターの onTestModuleCollected フックで利用可能です。

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

モジュールに関する有用な情報(所要時間、メモリ使用量など)です。モジュールがまだ実行されていない場合、すべての診断値は 0 になります。

ts
interface ModuleDiagnostic {
  /**
   * 環境のインポートと初期化にかかる時間。
   */
  readonly environmentSetupDuration: number;
  /**
   * Vitestがテストハーネス(ランナー、モックなど)をセットアップするのにかかる時間。
   */
  readonly prepareDuration: number;
  /**
   * テストモジュールをインポートするのにかかる時間。
   * これにはモジュール内のすべてのインポートとスイートコールバックの実行が含まれます。
   */
  readonly collectDuration: number;
  /**
   * セットアップモジュールをインポートするのにかかる時間。
   */
  readonly setupDuration: number;
  /**
   * モジュール内のすべてのテストとフックの累積実行時間。
   */
  readonly duration: number;
  /**
   * モジュールが使用したメモリ量(バイト単位)。
   * この値は、テストが `logHeapUsage` フラグを付けて実行された場合にのみ利用可能です。
   */
  readonly heap: number | undefined;
  /**
   * Vitest が処理したすべての非外部化依存関係のインポートに費やされた時間。
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** 非外部化ファイルをインポートして実行するのにかかる時間。 */
interface ImportDuration {
  /** ファイル自体をインポートして実行するのにかかる時間。ファイルが行うすべての非外部化インポートは含まれません。 */
  selfTime: number;

  /** ファイルとそのすべてのインポートをインポートして実行するのにかかる時間。 */
  totalTime: number;
}
Pager
前のページTestSuite
次のページTestCollection

MITライセンス の下で公開されています。

Copyright (c) 2021-Present Vitest Team

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

MITライセンス の下で公開されています。

Copyright (c) 2021-Present Vitest Team