BE-05 契约校验、异常映射与 traceId 日志交付记录

article
2026年7月20日阅读约 1 分钟72 字

更新于 2026年7月20日

BE-05 契约校验、异常映射与 traceId 日志交付记录

修改范围

  • BookingReconciliationValidationTest:新增 VALID-01 至 VALID-06,覆盖构造器、两个服务入口的空值和非法字段、空 outcome,以及外部建单、查单、匹配数据的缺字段和 clientReference 不一致。
  • BookingReconciliationControllerTest:新增 VALID-07,覆盖缺失请求包络字段的稳定 400 INVALID_REQUEST、响应 traceId 与错误日志一致;补充正常审计日志的 traceId 和 500 响应不泄露内部异常内容的断言。
  • 生产代码未修改;当前服务与统一异常处理已满足新增测试所定义的契约。

行为保证

  • 调用契约或配置错误抛出包含参数名的 IllegalArgumentException;不将编程错误伪装为业务决策。
  • 外部事件或供应商匹配字段缺失、引用不属于本地订单时返回 MANUAL_REVIEW,不抛异常、不回填标识。
  • MVC 非法请求返回含 codemessagetraceId400;非预期运行时异常返回不含异常消息或类名的 500 INTERNAL_ERROR
  • 成功审计日志与失败日志均复用过滤器建立的 X-Trace-Id;未引入数据库、调度、客户端或 Repository。

验证

mvn -f backend/pom.xml '-Dtest=BookingReconciliationValidationTest,BookingReconciliationControllerTest' test
mvn -f backend/pom.xml test

定向测试:16 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:08:46 +08:00)。
完整测试:59 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:09:28 +08:00)。