| name | test-generator |
| description | ユーザーが「テストを書いて」「テストケースを追加」「テストカバレッジを上げて」「テストが足りない」等と要求した時に発動。 既存の関数に対して包括的なテストケース(正常系・異常系・境界値)を自動生成する。 go testで実行可能な形式で出力し、カバレッジを向上させる。 |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash |
手順
- 対象関数の特定: ユーザー指定または全関数から、テストが不足している関数を特定(Grep/Glob)
- 既存テスト分析:
*_test.goを読み込み、既にカバーされているケースを確認 - カバレッジ確認:
go test -coverでカバレッジの穴を特定 - 不足ケースの生成: 以下のカテゴリでテストケースを追加
- 正常系(典型的な入力)
- 境界値(空配列、nil、0、負数、最大値)
- 異常系(エラーケース)
- テストコード追加: 既存の
*_test.goファイルに追加、または新規作成 - 検証:
go test -v -coverで全テストがパスし、カバレッジが向上したことを確認 - レポート: 追加したテストケースの数とカバレッジの改善度を報告
ベストプラクティス
- テスト関数名は
Test<関数名><ケース名>の形式(例:TestSumEmpty,TestSumNegative) - Table-Driven Tests を活用して、複数ケースを効率的に記述
- エラーメッセージは具体的に(期待値と実際の値を明示)
- 既存のテストスタイルに合わせる