型付きstructにデコードしてからの検証はJSONフィールド名(snake_case)契約の退行を検知できない
バックエンド
テスト
テスト設計
コードレビュー
API
運用
HTTPレスポンスの契約テストで、ボディを一旦DTO構造体にデコードしてからフィールド値を検証すると、JSONのキー名(snake_caseのタグ等)が壊れても、デコードが素通りしてテストが通ってしまう。フィールド名の退行を捕まえられない。
- レスポンスの契約(キー名・命名規約)を守りたいテストは、生JSON文字列/raw mapレベルでsnake_caseキーの存在を直接検証する。
- 「構造体に入って値が一致する」だけでは、シリアライズ層のタグ変更・大文字小文字化などの退行に対して盲目になる。