后端测试

面向 BFF 和后端服务的测试入口,组织领域规则、边界、契约、数据库集成和系统验证的分层实践。

#type / howto #status / growing #tech / dev / test

[!info] related notes

后端测试

目标

后端测试的重点不是“接口能手点通”这么简单,而是把不同风险拆到合适层级去验证:

  • 领域规则
  • handler / service 边界
  • 数据库集成
  • contract tests
  • 少量跨服务工作流

步骤

1. 先把核心规则放到快速测试层

最值得优先测的是:

  • 权限判断
  • 状态流转
  • 数据校验
  • 计费/规则计算
  • 幂等和补偿逻辑

这些地方最适合 TDD 或至少自测试代码保护。

2. BFF 重点看边界转换

BFF 往往不是算法核心,而是:

  • request validation
  • auth / permission
  • orchestration
  • downstream service coordination

这层的 contract tests 往往比大量纯单测更值钱。

3. 服务层补真实集成

不要把数据库、消息队列、outbox、事件发布全都 mock 掉,否则你只能验证“代码像是会工作”,而不是“系统真的能工作”。

这一层通常要补:

  • DB integration
  • event publish / consume
  • sandbox integration
  • migration compatibility

验证

一个更健康的后端测试结构通常是:

  • 大量领域与应用层快速测试
  • 少量 DB / contract / integration tests
  • 极少量跨服务工作流验证

常见问题

只靠 Swagger 手点

这适合开发早期快速自测,但不能替代回归保护和集成验证。

过度依赖 mock

如果关键边界都被 mock 掉,很多真实协作问题要到联调或上线才暴露。

没有 contract 层

单测很绿但边界协议已经碎了,是服务化架构里非常常见的事故来源。

最短记忆方式

后端测试要分层:规则在快测试里锁住,边界靠契约和集成硬化,系统流程只留少量高价值验证。

创建于 2026/2/21 更新于 2026/5/27