TDDワークフロー設定プロンプト

上級

このプロンプトでできること

AIエージェントにテスト駆動開発(TDD)のワークフローを設定するプロンプトです。Red-Green-Refactorサイクルを遵守した開発をAIに指示できます。

プロンプト

以下のTDDワークフローに従って開発を進めてください。

【TDD基本原則】
すべての機能開発・バグ修正は、例外なくTDDサイクルを通す。

RED → GREEN → REFACTOR

【フェーズ詳細】

## RED(失敗するテストを書く)
1. 実装したい機能の期待動作を明確にする
2. その動作を検証するテストを書く
3. テストを実行し、失敗することを確認する
4. 実装コードはまだ書かない

## GREEN(テストを通す最小限の実装)
1. テストを通すための最小限のコードを書く
2. きれいなコードである必要はない
3. テストが通ることを確認する
4. 新しい機能は追加しない

## REFACTOR(コードを改善する)
1. テストが通る状態を維持しながらコードを改善
2. 重複を排除する
3. 命名を改善する
4. テストを実行し、すべて通ることを確認

【エラー発見時のルール】
エラーを見つけたら、まずテストを書く:
1. エラーを再現するテストを作成
2. テスト失敗を確認
3. 修正を実装
4. テスト成功を確認

【禁止事項】
- テストなしでの実装
- テスト失敗を確認せずにGREENフェーズに進むこと
- REFACTORでテストを壊すこと

【報告形式】
各フェーズで以下を報告してください:
- 現在のフェーズ: RED / GREEN / REFACTOR
- 実行したこと: 具体的な作業内容
- テスト結果: PASS / FAIL(件数)
- 次のアクション: 次に行うこと

カスタマイズ例

品質基準追加

【品質基準】
- カバレッジ目標: 90%以上
- 静的解析: エラー0件
- 新規コードは必ずテスト付き

テスト形式指定

【テスト記述形式】
Given-When-Then形式で記述:

def test_ユーザーが正しいパスワードでログインできる():
    # Given: 有効なユーザーが存在する
    user = create_user(password="secret")

    # When: 正しいパスワードでログイン
    result = login(user.email, "secret")

    # Then: ログイン成功
    assert result.success is True

出力例

## TDDサイクル進行報告

### 現在のフェーズ: RED

**実行したこと:**
ユーザー登録機能のテストを作成しました。

\`\`\`python
def test\_新規ユーザーを登録できる(): # Given
user_data = {"email": "test@example.com", "password": "secure123"}

    # When
    result = register_user(user_data)

    # Then
    assert result.id is not None
    assert result.email == "test@example.com"

\`\`\`

**テスト結果:** FAIL(1件)

- `NameError: name 'register_user' is not defined`

**次のアクション:**
GREENフェーズに進み、`register_user`関数を最小限で実装します。

---

### 現在のフェーズ: GREEN

**実行したこと:**
テストを通すための最小限の実装を行いました。

\`\`\`python
def register_user(data):
user = User(email=data["email"])
user.set_password(data["password"])
db.save(user)
return user
\`\`\`

**テスト結果:** PASS(1件)

**次のアクション:**
REFACTORフェーズでバリデーション追加を検討します。

関連プロンプト

この記事をシェア

人気のプロンプト

報告書を作成するプロンプト

このプロンプトでできること 業務報告書や調査レポートを、論理的な構成で作成できます。目的に応じた形式と、読み手を意識した文章構成を提案します。 プロンプト 以下の内容で報告書を作成してください。 【報 …

中級

反論・批判的検討プロンプト

このプロンプトでできること 自分のアイデアや計画に対して、あえて反対意見や批判的な視点を提示してもらえます。盲点の発見や、提案の弱点を事前に補強するのに役立ちます。 プロンプト # Role あなたは …

中級

業界動向を調査するプロンプト

このプロンプトでできること 特定の業界の動向、市場規模、主要プレイヤー、トレンドを調査・整理します。ビジネス戦略や投資判断の参考情報を生成します。 プロンプト 以下の業界について調査してください。 【 …

中級

お詫びメールを作成するプロンプト

このプロンプトでできること ビジネスシーンで必要なお詫びメールを、状況に応じて適切な文面で作成できます。謝罪の程度や原因、今後の対応策を含めた丁寧なメールが生成されます。 プロンプト 以下の状況に対す …

初級

契約書を確認するプロンプト

このプロンプトでできること 契約書の内容をチェックし、注意すべきポイントやリスクを洗い出します。専門家に相談する前の一次チェックとして活用できます。 プロンプト あなたは契約書レビューの専門家です。 …

上級

要件定義を作成するプロンプト

このプロンプトでできること システム開発の要件定義書を作成します。機能要件・非機能要件を整理し、開発の前提となる文書を提案します。 プロンプト 以下のシステムの要件定義を作成してください。 【システム …

上級