SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-16 09:29

技能介绍

用途:以测试驱动开发(TDD)方式构建功能或修复缺陷,遵循红-绿-重构循环。核心理念是测试应通过公共接口验证行为,而非实现细节。好的测试是集成式的,走真实代码路径、读起来像规格说明,不关心内部结构,因此能经受重构;差的测试耦合实现,如 mock 内部协作者、测试私有方法或绕开接口直接查数据库,一旦重构就失败,即便行为未变。

反模式:横向切片。不要先写完所有测试再写所有实现,这会让测试基于想象而非实际行为、变得对真实变化不敏感。正确做法是纵向切片(曳光弹):一个测试→一个实现→重复。

工作流:一、规划。写代码前与用户确认接口变更和要测试的行为(按优先级),识别深模块(小接口、深实现)机会,设计可测试接口,列出要测试的行为而非实现步骤,并获得用户批准。可问:公共接口应是什么样?哪些行为最重要?无法测试一切,需确认最关键的行为,聚焦关键路径与复杂逻辑。二、曳光弹:写一个测试确认系统一件事,先失败后写最小代码通过,证明端到端路径可行。三、增量循环:对每个剩余行为,先写下一个测试使其失败,再写刚好通过的代码;一次一个测试,不预判未来测试,保持测试聚焦可观察行为。四、重构:全部测试通过后,寻找重构点,如提取重复、加深模块、自然应用 SOLID 原则、审视新代码对旧代码的启示;每步重构后运行测试,绝不在 RED 状态重构,先到 GREEN。

每轮检查清单:测试描述行为而非实现;只用公共接口;能经受内部重构;代码仅满足当前测试;不添加投机功能。资料另提供 tests.md 示例与 mocking.md 指南。限制:具体安装与运行方式、平台支持及收费信息暂未提供。