mcpField
T
tdd

tdd

github.com/pymodel测试与质量40437 次安装4 周前更新
代码仓库

关于 tdd

面向 AI Agent 和开发者的 TDD 指南,包含 42 条分优先级规则,覆盖测试编写、重构和代码生成。

主要功能

  1. 01八类共 42 条规则
  2. 02按优先级组织 TDD 指引
  3. 03红-绿-重构工作流
  4. 04测试设计与隔离实践
  5. 05测试数据与断言建议
  6. 06性能与测试策略建议

适用场景

  1. 01先写测试再实现功能
  2. 02审查或重构测试套件
  3. 03组织测试数据与夹具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pymodel/react-frontend-skills --skill tdd

安装后在 Claude Code 中输入/tdd确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
assert-custom-matchers.md
assert-error-messages.md
assert-no-assertions-antipattern.md
assert-snapshot-testing.md
assert-specific-assertions.md
cycle-maintain-test-list.md
cycle-minimal-code-to-pass.md
cycle-refactor-after-green.md
cycle-small-increments.md
cycle-verify-test-fails-first.md
cycle-write-test-first.md
data-avoid-mystery-guests.md
data-builder-pattern.md
data-minimal-setup.md
data-unique-identifiers.md
data-use-factories.md
design-aaa-pattern.md
design-avoid-logic-in-tests.md
design-descriptive-test-names.md
design-one-assertion-per-test.md
design-test-behavior-not-implementation.md
design-test-edge-cases.md
isolate-deterministic-tests.md
isolate-mock-external-dependencies.md
isolate-no-shared-state.md
isolate-prefer-stubs-over-mocks.md
isolate-use-dependency-injection.md
org-file-structure.md
org-group-by-behavior.md
org-parameterized-tests.md

详细介绍

社区测试驱动开发最佳实践

面向 AI Agent 和大模型的测试驱动开发实践综合指南。包含 8 个类别中的 42 条规则,并按影响程度排序,帮助指导测试编写、重构和代码生成。

适用场景

在以下情况下参考这些指南:

  • 使用 TDD 工作流编写新测试
  • 实施红-绿-重构循环
  • 设计测试结构和组织方式
  • 创建测试数据和测试夹具
  • 审查或重构现有测试套件

TDD 工作流

  1. RED:编写一个定义预期行为的失败测试
  2. GREEN:编写最少的代码,让测试通过
  3. REFACTOR:在保持测试通过的同时清理代码
  4. 针对每个新行为重复以上步骤

按优先级划分的规则类别

优先级类别影响前缀
1红-绿-重构循环CRITICALcycle-
2测试设计原则CRITICALdesign-
3测试隔离与依赖HIGHisolate-
4测试数据管理HIGHdata-
5断言与验证MEDIUMassert-
6测试组织与结构MEDIUMorg-
7测试性能与可靠性MEDIUMperf-
8测试金字塔与策略LOWstrat-

快速参考

1. 红-绿-重构循环(CRITICAL)
  • cycle-write-test-first - 在实现之前先编写测试
  • cycle-minimal-code-to-pass - 只编写足以通过测试的代码
  • cycle-refactor-after-green - 测试通过后立即重构
  • cycle-verify-test-fails-first - 编写代码前确认测试会失败
  • cycle-small-increments - 采取小步渐进的方式
  • cycle-maintain-test-list - 维护测试清单
2. 测试设计原则(CRITICAL)
  • design-test-behavior-not-implementation - 测试行为,而非实现
  • design-one-assertion-per-test - 每个测试只包含一个逻辑断言
  • design-descriptive-test-names - 使用描述性测试名称
  • design-aaa-pattern - 遵循 Arrange-Act-Assert 模式
  • design-test-edge-cases - 测试边界情况和边界值
  • design-avoid-logic-in-tests - 避免在测试中编写逻辑
3. 测试隔离与依赖(HIGH)
  • isolate-mock-external-dependencies - 模拟外部依赖
  • isolate-no-shared-state - 避免测试之间共享可变状态
  • isolate-deterministic-tests - 编写确定性测试
  • isolate-prefer-stubs-over-mocks - 对查询优先使用存根,而非模拟对象
  • isolate-use-dependency-injection - 使用依赖注入提升可测试性
4. 测试数据管理(HIGH)
  • data-use-factories - 使用工厂创建测试数据
  • data-minimal-setup - 尽量精简测试设置
  • data-avoid-mystery-guests - 避免使用难以理解的测试数据
  • data-unique-identifiers - 每个测试使用唯一标识符
  • data-builder-pattern - 对复杂对象使用 Builder 模式
5. 断言与验证(MEDIUM)
  • assert-specific-assertions - 使用具体的断言
  • assert-error-messages - 断言错误消息和类型
  • assert-no-assertions-antipattern - 每个测试都必须包含断言
  • assert-custom-matchers - 为领域断言创建自定义匹配器
  • assert-snapshot-testing - 谨慎使用快照测试
6. 测试组织与结构(MEDIUM)
  • org-group-by-behavior - 按行为而非方法对测试分组
  • org-file-structure - 遵循一致的测试文件结构
  • org-setup-teardown - 适当使用设置和清理钩子
  • org-test-utilities - 提取可复用的测试工具
  • org-parameterized-tests - 对不同变体使用参数化测试
7. 测试性能与可靠性(MEDIUM)
  • perf-fast-unit-tests - 让单元测试足够快,以便持续获得反馈
  • perf-avoid-network-calls - 消除单元测试中的网络调用
  • perf-fix-flaky-tests - 立即修复不稳定的测试
  • perf-parallelize-tests - 并行运行彼此独立的测试
  • perf-avoid-sleep - 避免任意调用休眠
8. 测试金字塔与策略(LOW)
  • strat-test-pyramid - 遵循测试金字塔
  • strat-mutation-testing - 使用变异测试验证测试质量
  • strat-coverage-targets - 设定有意义的覆盖率目标
  • strat-integration-boundaries - 在服务边界测试集成
  • strat-e2e-critical-paths - 将 E2E 测试限制在关键用户路径上

如何使用

对于上面与任务相关的每条规则,请阅读 references/<rule-id>.md,了解其重要性,以及错误与正确的代码示例。

相关技能

  • 有关 Vitest 框架的具体信息,请参阅 vitest 技能
  • 有关使用 MSW 模拟 API,请参阅 msw 技能

评论

支持 Markdown