用途:为编写和维护可靠测试套件提供原则与模式参考,帮助团队在单元测试、集成测试与端到端测试之间做出取舍,并规范 Mock、测试数据与组织方式。
主要能力:
- 测试金字塔:E2E 少、集成适量、单元多,按成本与速度分配测试。
- AAA 模式:Arrange 准备数据、Act 执行被测代码、Assert 验证结果。
- 测试类型选择:单元测纯函数与逻辑,速度快(<50ms);集成测 API、数据库与服务;E2E 测关键用户流程,速度慢。
- 单元测试原则:快速(每条 <100ms)、隔离、可重复、自检、及时;测业务逻辑、边界与错误处理,不测框架代码、第三方库和简单 getter。
- 集成测试:覆盖 API 请求响应、数据库查询与事务、外部服务契约,并用前/后置钩子连接资源、重置状态、清理与断开。
- Mock 原则:对外部 API、数据库(单元)、时间/随机、网络使用;不对被测代码、简单依赖、纯函数、内存存储使用。Mock 类型含 Stub 固定返回值、Spy 跟踪调用、Mock 设定期望、Fake 简化实现。
- 测试组织:采用 should、when、given-when-then 命名,用 describe 分组、it/test 单例、beforeEach 公共设置。
- 测试数据:工厂生成数据、fixtures 预定义数据集、builders 流式构建;使用真实数据、对非关键值随机化、共享 fixture、保持最小。
- 最佳实践与反模式:每条测试一个断言、测试相互独立、快速、命名清晰、清理副作用;避免测实现、重复代码、复杂设置、忽略 flaky 测试、跳过清理。
使用方式:作为团队测试规范与代码评审参考,按上述原则选择测试类型、组织用例、设计 mock 与数据。
适用场景:需要建立或改进测试策略的项目,尤其是单元与集成测试并重的代码库。
限制:资料未提供具体框架、语言示例、安装命令或工具集成方式;是否适用于特定技术栈暂未提供。