テストコード作成時の厳守事項
絶対に守ってください!
テストコードの品質
- テストは必ず実際の機能を検証すること
expect(true).toBe(true)のような意味のないアサーションは絶対書かない
- 各テストケースは具体的な入力と期待される出力を検証すること
- モックは必要最小限に留め、実際の動作に近い形でテストすること
ハードコーディングの禁止
- テストを通すためだけのハードコードは絶対禁止
- 本番コードに
if (testMode)のような条件分岐を入れない
- テスト用の特別な値(マジックナンバー)を本番コードに埋め込まない
- 環境変数や設定ファイルを使用して、テスト環境と本番環境を適切に分離すること
テスト実装の原則
- テストが失敗する状態から始めること(red-Green-Refactor)
- 境界値、異常系、エラーケースも必ずテストすること
- カバレッジだけでなく、実際の品質を重視すること
- テストケース名は何をテストしているか明確に記述すること
実装前の確認
- 機能の仕様を正しく理解してからテストを書くこと
- 不明な点があれば、仮の実装ではなく、ユーザーに確認すること
その他事項
- パッケージマネージャは、Bunを使用すること
- 実装については、
instructions.mdを参照すること