SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-15 17:27

技能介绍

用途:当任务明确要求 TDD、测试先行开发或红-绿-重构循环时使用本技能,按“一次一个行为”推进。

适用判断:新工具函数、新 Effect 服务、复杂业务逻辑、Bug 修复建议使用;仅 UI 样式/布局改动、探索性原型、简单 CRUD 的 TRPC 端点通常不使用,除非用户明确要求测试先行,此时默认可用 testing-patterns。

主要能力与用法:

  1. RED:先写失败测试,例如用 vitest 的 describe/expect/it,并运行命令查看失败:bun run vitest run packages/common/src/tests/calculate-discount.test.ts。
  2. GREEN:编写最小代码使测试通过,再运行同一命令确认通过。
  3. REFACTOR:在不破坏行为的前提下改进结构,随后重新运行测试验证。

测试范围:优先轻量测试,按需升级。纯函数、解析器、工具用单元测试;带依赖的 Effect 服务用带 mock 层的单元测试;TRPC 过程按 testing-patterns 决策;用户流程与 UI 行为用 E2E。

Effect 特定模式:先通过测试定义接口行为,创建 mock 层隔离依赖并保持确定性,再实现服务、重构。可使用参数化 mock 层工厂,例如 createMockInventoryLayer,并通过 Layer.provide 注入测试层。

测试位置示例:packages/X/src/file.ts 对应 packages/X/src/tests/file.test.ts;TRPC 路由对应 apps/web-app/src/tests/X.test.ts;路由对应 apps/web-app/e2e/feature.e2e.ts。实际应遵循仓库约定。

参考资源:references/ 下的 red-green-refactor.md、effect-tdd-patterns.md、test-first-examples.md、commands.md、anti-patterns.md。相关技能:testing-patterns、effect-ts。

限制:资料未提供收费、价格、平台支持范围或效果保证等信息;技能的具体安装与集成方式暂未提供。