【結論】解決策 / 実行コマンド
テストハーネスは、対象コードを再現可能な条件で動かすためのFixtures、モック、スタブ、セットアップ、後片付け、実行コマンドの集合です。
Claude Codeには既存テスト規約と外部API仕様を先に読ませ、テストを通すためだけの実装変更を禁止します。
# ターミナルで実行:既存テストの基準状態を確認
npm test -- --runInBand
# ターミナルで実行:専用ブランチを作成
git switch -c test/api-client-harness
# ターミナルで実行:Planモードで開始
claude --permission-mode plan具体的な手順・設定方法
対象関数の入出力、外部依存、時間、乱数、DB、ネットワークを列挙します。
実際の契約やOpenAPI仕様からモックを作り、推測だけでレスポンス形を決めません。
成功、失敗、境界値、タイムアウト、再試行を実装し、意図的に失敗することも確認します。
実践プロンプト / 活用テクニック
# 起動後のセッション内で入力
src/services/apiClient.ts用のJestテストハーネスを設計してください。
外部HTTP通信は禁止し、fixtures/api-responses.jsonを契約の正本として使ってください。
最初にモック境界とテストケースを提示し、承認後に実装してください。
本体コードを変更してテストを通すことは禁止します。注意点・よくあるエラーと対処法
モックが実サービスと乖離すると、テスト成功でも本番障害が起きます。
スナップショットの大量利用や内部実装への過剰依存を避けます。
DBを使う統合テストではトランザクション分離と後片付けを必ず確認してください。