单元测试规范:表驱动、覆盖率与 HTTP 测试
Go 的 testing 包 API 面小,上手成本低;单元测试质量的差异主要来自团队约定。缺乏约定的项目常见两类测试并存:一类行为稳定、接近契约;一类依赖执行顺序、间歇性失败(flaky)。CI 失败后以重跑代替排查,会掩盖真实缺陷。本文给出单元测试约定,覆盖文件组织、表驱动测试、helper 与资源清理、Example 测试、httptest、集成测试、mock 与覆盖率。断言库的 API 细节不在本文展开,统一参见 testify 实战。
11 min read