Node.jsでSQLを高速に単体テストするライブラリ @rawsql-ts/pg-testkit を紹介します。 生SQLは当然として、PrismaやDrizzleなど既存ORMとも併用可能で、既存アーキテクチャを壊さず導入できます。 従来の問題点 SQLの単体テストを行う場合、一般的には以下の手順で行います。 マイグレーション(テーブル環境構築) シーディング(テストデータ投入) テスト クリーンアップ(ロールバック、テーブル環境破棄) 通常の単体テストと異なり、マイグレーション、シーディング、クリーンアップという工程が必要です。 さらに、DBという共有ストレージを使用するため、テスト間の競合に注意が必要です。 上記の問題を回避して高速化するのは難しく、現状では DBインスタンスをたくさん立てる DBにスキーマをたくさん作る テストデータが競合しないように気を付ける といった力業に頼る

