mcpField
T
tdd

tdd

github.com/pproenca测试与质量220412 次安装11 周前更新
代码仓库

关于 tdd

面向 AI Agent 和大模型的测试驱动开发指南,涵盖红-绿-重构循环,以及测试设计、隔离、数据和可靠性实践。按优先级组织的规则适用于编写、审查和重构测试。

主要功能

  1. 01涵盖 8 类的 42 条规则
  2. 02红-绿-重构工作流
  3. 03以行为为中心的测试设计
  4. 04测试隔离与数据实践
  5. 05可靠性与测试策略指导

适用场景

  1. 01先写测试再实现功能
  2. 02按行为组织测试套件
  3. 03创建隔离且确定性强的测试
  4. 04审查或重构现有测试

安装

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

$npx skills add https://github.com/pproenca/dot-skills --skill tdd

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

包含的文件

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

AGENTS.md
metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
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

详细介绍

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

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

适用场景

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

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

TDD 工作流

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

按优先级划分的规则类别

优先级类别影响前缀
1红—绿—重构循环关键cycle-
2测试设计原则关键design-
3测试隔离与依赖项高isolate-
4测试数据管理高data-
5断言与验证中assert-
6测试组织与结构中org-
7测试性能与可靠性中perf-
8测试金字塔与策略低strat-

快速参考

1. 红—绿—重构循环(关键)
  • 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. 测试设计原则(关键)
  • 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. 测试隔离与依赖项(高)
  • isolate-mock-external-dependencies - 模拟外部依赖项
  • isolate-no-shared-state - 避免测试之间共享可变状态
  • isolate-deterministic-tests - 编写确定性测试
  • isolate-prefer-stubs-over-mocks - 查询时优先使用桩,而非模拟对象
  • isolate-use-dependency-injection - 使用依赖注入以提高可测试性
4. 测试数据管理(高)
  • data-use-factories - 使用工厂创建测试数据
  • data-minimal-setup - 尽量简化测试设置
  • data-avoid-mystery-guests - 避免使用神秘客
  • data-unique-identifiers - 每个测试使用唯一标识符
  • data-builder-pattern - 复杂对象使用建造者模式
5. 断言与验证(中)
  • assert-specific-assertions - 使用具体的断言
  • assert-error-messages - 断言错误消息和类型
  • assert-no-assertions-antipattern - 每个测试都必须包含断言
  • assert-custom-matchers - 为领域断言创建自定义匹配器
  • assert-snapshot-testing - 谨慎使用快照测试
6. 测试组织与结构(中)
  • org-group-by-behavior - 按行为而非方法对测试分组
  • org-file-structure - 遵循一致的测试文件结构
  • org-setup-teardown - 适当使用设置和清理钩子
  • org-test-utilities - 提取可复用的测试工具
  • org-parameterized-tests - 针对不同变体使用参数化测试
7. 测试性能与可靠性(中)
  • perf-fast-unit-tests - 将单元测试控制在 100ms 以内
  • perf-avoid-network-calls - 消除单元测试中的网络调用
  • perf-fix-flaky-tests - 立即修复不稳定的测试
  • perf-parallelize-tests - 并行运行相互独立的测试
  • perf-avoid-sleep - 避免使用任意的休眠调用
8. 测试金字塔与策略(低)
  • strat-test-pyramid - 遵循测试金字塔
  • strat-mutation-testing - 使用变异测试验证测试质量
  • strat-coverage-targets - 设定有意义的覆盖率目标
  • strat-integration-boundaries - 在服务边界测试集成
  • strat-e2e-critical-paths - 将端到端测试限制在关键用户路径

使用方法

阅读各个参考文件,了解详细说明和代码示例:

相关技能

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

完整编译文档

如需查看包含所有展开规则的完整指南:AGENTS.md

评论

支持 Markdown