用途:以测试驱动方式实现 TypeScript/JavaScript 功能,先写失败测试,再写最小实现使其通过,最后重构。类型被视为第一道测试,品牌类型(branded types)用于捕获编译器无法发现的领域错误。
主要能力:
- 红-绿-重构纪律分层。红之前先建模领域:用业务语言命名实体、值对象或聚合;对携带规则的原始类型使用品牌类型,例如 type EmailAddress = string & { readonly __brand: 'EmailAddress' };多字段值对象优先使用 readonly 类或冻结记录;Zod/Valibot schema 可推断为品牌类型,兼顾运行时与编译期安全。
- 红:编写失败测试,测试名用领域术语,如 it('rejects refund when amount exceeds daily limit'),而非机械命名。
- 绿:写最小代码使测试通过。
- 重构:仅在相同领域概念以相同含义出现 3 次及以上时去重,区分真正的 DRY 与偶然相似;将反复出现的原始类型提升为品牌类型;保持领域逻辑远离组件、路由和 store。
包含内容:TDD 循环、React 组件 TDD、品牌类型值对象、工具函数 TDD 等示例;红-绿-重构模式、Vitest 最佳实践、品牌类型惯用法等参考;测试模板与实现工作流模板。
适用场景:用 TDD 实现 TypeScript 功能;用品牌类型建模领域概念(实体、值对象、聚合);React 组件开发并保持领域逻辑独立;绿灯后重构重复代码;追求高测试覆盖率。相关智能体为 tdd-typescript-implementer。技能版本 1.1。
限制:资料未提供安装命令、收费方式、支持平台及具体运行环境要求,暂未提供。