Jest 30 リリース
Jest 30 がリリース。大幅なパフォーマンス向上とメモリ使用量削減を実現。ある TypeScript アプリケーションでサーバーテストが 37%高速化(1350 秒 →850 秒)、メモリ使用量が 77%削減(7.8GB→1.8GB)を記録。
Node.js 14、16、19、21 のサポートを終了し、TypeScript 最低要件を 5.4 に引き上げ。jest-environment-jsdomを jsdom 21 から 26 にアップグレード。.mtsと.ctsファイルをデフォルトサポート。
新機能としてexpect.arrayOf非対称マッチャー、JavaScript のusingキーワードサポート、jest.advanceTimersToNextFrame()による requestAnimationFrame テスト支援、設定可能なテストリトライ機能を追加。
javascript
// 配列要素の型チェック
expect(someArray).toEqual(expect.arrayOf(expect.any(Number)));
// リソース管理構文
test('logs a warning', () => {
using spy = jest.spyOn(console, 'warn');
doSomeThingWarnWorthy();
expect(spy).toHaveBeenCalled();
});Globals cleanup 機能により、テストファイル間でのメモリリークを防止。globalsCleanup: 'on'設定でメモリ使用量とパフォーマンスの大幅改善が可能。