単体テスト
タンタイテスト

単体テスト(ユニットテスト)とは、関数やメソッドなどプログラムの最小構成単位を個別に検証するテスト手法である。外部依存をモックに置き換え、対象のロジックだけを高速に確認できる。
何を「単体」とするか
単体テストの「単体」は言語やフレームワークによって粒度が異なる。関数1つを指すこともあれば、1つのクラスやモジュール全体を指すこともある。共通しているのは「外部 I/O(DB、ネットワーク、ファイルシステム)を排除した状態でテストする」という原則だ。
外部依存はモックやスタブに差し替える。Supabase のクエリ結果をモックオブジェクトで返す、API コールをスタブに置き換えるといった具合だ。これにより実行速度がミリ秒単位に収まり、CI パイプラインで数百〜数千件を毎コミット回せる。
モックの限界
モックは任意のプロパティを持つオブジェクトを返せるため、DB スキーマとの不整合を検出できない。「テストは全件 GREEN だが本番で column does not exist」というインシデントは珍しくない。単体テストはビジネスロジックの検証には強いが、システム境界の整合性は機能テストや E2E テストで補完する必要がある。
TDD との関係
TDD(テスト駆動開発)は単体テストを「設計ツール」として活用する開発手法だ。テストを先に書くことで、関数の入出力仕様が実装前に確定する。単体テストの存在が前提となるため、両者は密接に結びついている。
関連用語

E2Eテスト
E2E テスト(End-to-End テスト)とは、ユーザーの操作を起点にブラウザや API を通じてシステム全体を通過させ、期待どおりの結果が得られるかを検証するテスト手法である。

受け入れテスト
受け入れテスト(アクセプタンステスト)とは、開発した機能がビジネス要件やユーザーストーリーを満たしているかを、プロダクトオーナーやステークホルダーの視点で検証するテスト手法である。

SSM(AWS Systems Manager)
AWS Systems Manager(SSM)とは、EC2 インスタンスやオンプレミスサーバーをまとめて運用・管理するための AWS マネージドサービスである。パッチ適用、コマンド実行、パラメータ管

ATDD
ATDD(Acceptance Test-Driven Development)とは、開発着手前に受け入れテストの基準をチーム全体で定義し、そのテストを自動化してから実装を進める開発手法である。