関数・クラスなど、1 つの「単位」を独立にテストする最も小さい粒度のテスト。実行が高速で、AI 駆動開発のループ速度を支える基盤。
概要
単体テストは、 対象の関数・クラスを外部依存(DB・外部 API・ファイル)から切り離し、純粋に振る舞いを検証 する。1 件あたり数 ms で完結し、数千件を秒単位で実行できる。
| 観点 | 単体テストの特徴 |
|---|---|
| 対象 | 関数・クラス・モジュール単体 |
| 速度 | 数 ms |
| 件数の目安 | 数百〜数千 |
| 外部依存 | テストダブルで分離 |
| 主な検証 | 入出力・分岐・例外・境界値 |
代表的なツール
| 言語 | フレームワーク |
|---|---|
| JavaScript / TypeScript | Jest / Vitest / Mocha |
| .NET | xUnit / NUnit / MSTest |
| Java | JUnit / TestNG |
| Python | pytest / unittest |
| Ruby | RSpec / Minitest |
| Go | testing 標準 |
AI 駆動開発との関係
単体テストは AI に最も任せやすいレイヤー 。入出力が明確なため、AI が網羅的に書ける。
| AI 駆動開発での効用 | 仕組み |
|---|---|
| 即時検証 | Red/Green が秒で判定できる |
| 並列タスクの安全性 | 全テスト 1 コマンドで実行できる |
| カバレッジで暴走検知 | テストでカバーされた範囲が破壊されると即気づける |
ただし 単体だけで安心しない こと。結合点(DB・外部 API)のバグは 結合テスト で別途検出する必要がある。
関連記事
- 開発手法ガイド:TDD 編 — TDD のサイクルで単体テストを回す
- 開発手法ガイド:テスト技法編 — 単体テストの位置づけ
- 開発手法ガイド:SOLID 原則編 — 単体テストしやすい設計の原則