面向 Go 服务的自动化测试体系

可以按三层理解:
- 业务代码层(黄色框)
业务 Go 项目按典型链路组织:HTTP / MQ / Command 入口 → Controller / Service / Data → Helpers → DB、KV、ES、API、RMQ 等外部依赖。
其中sell-goweb提供脚手架和 Helpers,帮助统一接入方式。 - 录制与规则层(中上部)
Recorder在业务入口或依赖调用附近记录请求、响应和依赖交互;recorder-service负责把这些原始 Batch 数据存储、查询。TRS 测试规则管理则管理“如何测试”:规则定义、版本、查询等。图中的sell-goweb-trs是规划中的规则管理 Skill,研发可借助 AI 来发布或维护这些规则。 - 测试执行层(右侧)
sell-goweb-tester读取录制的原始 Batch 与测试规则,执行本地集成测试。
它管理测试Case / mock data / coverage,并通过图中Replace*ForTest的机制,把业务 Helpers 连接的真实 DB、HTTP、MQ 等依赖替换成测试桩或 mock,从而让测试可重复、可控。
一句话总结:
开发写业务代码并接入统一 Helpers;运行时 Recorder 采集真实调用;TRS 定义测试规则;Tester 用采集的数据和规则,替换外部依赖后执行集成测试,并管理案例、mock 和覆盖率。
图里的虚线通常表示规划中、配置/数据流或弱耦合关系;实线箭头更像是实际调用或执行链路。