KDOC 619: jestワーカーごとにDatabaseを分けるとテストを並列実行できる
この文書のステータス
- 作成
- 2026-09-17 貴島
- レビュー
- 2026-09-17 貴島
概要
並列度1の実行しか許容しない、 jest で実行するテスト群があった。テスト内にデータベースを使う関数のテストが含まれていて、並列度を増やしてテスト実行するとテストケース間のレコードが混ざって大量に失敗した。これを最小限の手数(約200行の変更)で並列実行にしてマシンのCPUをほぼ使い切れるようにした。
コアアイデア。
jest ワーカーごとに Postgres の Database を分離する。ここでいう Database は CREATE DATABASE のそれである。並列実行するワーカーごとに専用の Database を使って隔離すれば、ワーカー間でレコードが競合しなくなる。
関連
抽象。
- 共有している資源を担当ごとに分けて、競合をなくす
関連。
なし。