Skip to content
Vitest 1
Main Navigation ガイドAPI設定高度な
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

ガイド

Vitest の必要性

はじめに

特徴

ワークスペース

コマンドラインインターフェース

テストのフィルタリング

レポーター

カバレッジ

スナップショット

モック

型テスト

Vitest UI

ブラウザモード

ソース内テスト

テストコンテキスト

テスト環境

マッチャー拡張

IDE 連携機能

デバッグ

他のテストランナーとの比較

マイグレーションガイド

よくあるエラー

パフォーマンスの改善

API

テスト API リファレンス

モック関数

Vi

expect

expectTypeOf

assert

assertType

設定

Vitestの設定ファイル管理

Vitestの設定

このページの内容

パフォーマンスの改善 ​

デフォルトでは、Vitest は pool の設定に基づいて、隔離された環境で各テストファイルを実行します。

  • threads プールは、各テストファイルを個別の Worker で実行します。
  • forks プールは、各テストファイルを個別の フォークされた子プロセス で実行します。
  • vmThreads プールは、各テストファイルを個別の VM コンテキスト で実行しますが、並列処理には worker を利用します。

この隔離処理は、テスト時間の大幅な増加につながる可能性があります。副作用に依存せず、状態を適切にクリーンアップできるプロジェクト(通常、node 環境のプロジェクトに当てはまります)では、隔離は必ずしも必要ではありません。このような場合、隔離を解除することでテスト速度を向上させることができます。隔離を解除するには、CLI で --no-isolate フラグを指定するか、設定ファイルで test.isolate プロパティを false に設定します。poolMatchGlobs を使用して複数のプールを同時に使用している場合は、特定のプールのみ隔離を解除することも可能です。

bash
vitest --no-isolate
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    isolate: false, // 隔離を解除
    // 特定のプールでのみ隔離を解除することもできます
    poolOptions: {
      forks: {
        isolate: false, // forks プールの隔離解除
      },
    },
  },
});

TIP

vmThreads プールを使用している場合、隔離を無効にすることはできません。代わりに threads プールを使用して、テストのパフォーマンス向上を検討してください。

プロジェクトによっては、起動時間を改善するためにファイルの並列処理を無効にすることが有効な場合があります。これを行うには、CLI で --no-file-parallelism フラグを指定するか、設定ファイルで test.fileParallelism プロパティを false に設定します。

bash
vitest --no-file-parallelism
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    fileParallelism: false, // ファイル並列処理を無効化
  },
});
Pager
前のページよくあるエラー
次のページテスト API リファレンス

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

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/improving-performance

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

Copyright (c) 2024 Mithril Contributors