さとまたwiki

テスト駆動開発(TDD)

AIと一緒にテストファーストで開発する

TDD × バイブコーディング

テスト駆動開発(TDD)とバイブコーディングは相性抜群です。 テストを先に書くことで、AIへの「要件」が明確になり、より正確なコードが生成されます。

ポイント: テストコード = AIへの仕様書

バイブコーディングでのTDDサイクル

1. Red

失敗するテストを書く

2. Green

AIに実装させる

3. Refactor

AIにリファクタさせる

実践例: 計算機能の実装

Step 1: テストを書く(Red)

"以下のテストケースを作成して(Vitest使用):

calculate関数のテスト:
- add(2, 3) → 5
- subtract(10, 4) → 6
- multiply(3, 4) → 12
- divide(10, 2) → 5
- divide(10, 0) → Error

テストファイルだけ作成して、実装はまだしないで。"

→ この時点でテストは失敗する(実装がないから)

Step 2: 実装する(Green)

"このテストが通る最小限の実装を作成して。"

→ AIがテストを満たす実装を生成

Step 3: リファクタリング(Refactor)

"テストが通ったまま、このコードをリファクタリングして。
- 重複を削除
- 型を追加
- エラーメッセージを改善"

→ テストが通ることを確認しながら改善

テスト生成プロンプト集

ユニットテスト

"この関数のユニットテストをVitestで作成して。
正常系、異常系、エッジケースを網羅して。"

統合テスト

"このAPIエンドポイントの統合テストを作成して。
supertestを使用。認証が必要なルートのテストも含めて。"

E2Eテスト

"Playwrightでこのログインフローのe2eテストを作成して。
- 正常ログイン
- 不正なパスワード
- 空の入力"

TDD × バイブコーディングのコツ

✓ テストを仕様書として使う

"このテストが通るように実装して"と言えば、仕様のブレがなくなる

✓ 小さく始める

1つのテストケースから始めて、徐々にケースを追加

✓ テスト実行を習慣化

"テストを実行して結果を教えて"を毎回依頼する

この記事はClaude Opus 4.6によって作成されました