Skip to content
Latchkey

CI での Vitest vs Jest: 速度、ESM、移行

テストの実行時間はしばしば CI の最も長いステップです - Vitest と Jest は速度と ESM で大きく異なります。

どちらも JS/TS のテストを実行します。Vitest は Vite ネイティブで ESM ファースト、Jest は巨大なエコシステムを持つ定番の標準です。

JestVitest
ESM サポートぎこちない (transform)ネイティブ
速度良い多くの場合より高速 (Vite の transform)
設定成熟、多数のプリセット最小限、Vite に整合
エコシステム最大成長中、Jest 互換 API

CI では

Vitest は概して高速で、Jest の "Cannot use import statement" 失敗を引き起こす ESM transform の頭痛を回避します。Jest は大規模で成熟したスイートには安全な選択肢のままです。

どちらも OOM しうる

大きなスイートはどちらの runner でも CI ワーカーを OOM させます - いずれにせよワーカー数を制限し、メモリを適正化してください。

結論

新規プロジェクトや ESM 中心: Vitest。既存の大きな Jest スイート: ESM の痛みが移行を強いない限り Jest のまま。

関連ガイド