mcpField
T
test-first

test-first

github.com/s-hiraoku测试与质量1769 次安装3 周前更新
代码仓库

关于 test-first

面向开发者的测试优先开发技能,采用 Red-Green-Refactor 循环,并提供测试结构、边界情况覆盖及编写可靠可维护测试的实践。

主要功能

  1. 01Red-Green-Refactor 工作流
  2. 02覆盖正常路径与边界情况
  3. 03Arrange-Act-Assert 结构
  4. 04独立且描述清晰的测试
  5. 05快速单元测试指导

适用场景

  1. 01从编写失败测试开始实现功能
  2. 02检查边界值与错误行为
  3. 03围绕单一概念组织测试
  4. 04维护易于管理的单元测试

安装

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

$npx skills add https://github.com/s-hiraoku/synapse-a2a --skill test-first

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

详细介绍

测试优先开发技能

测试优先开发(TDD)确保代码是为满足特定的预定义要求而编写的,从而提高质量并改善设计。

TDD 工作流

  1. Red:为一小段功能编写一个失败的测试。
  2. Green:编写通过测试所需的最少代码。
  3. Refactor:清理代码,同时确保测试仍然通过。

测试设计原则

1. 全面覆盖
  • 正常情况:测试预期的“顺利路径”行为。
  • 边界值:测试有效范围边缘的输入(例如,0、max_int、空字符串)。
  • 边缘情况:测试异常或极端条件(例如,网络超时、磁盘已满、null 值)。
  • 错误处理:验证系统能否优雅地失败并返回适当的错误消息。
2. 结构(Arrange-Act-Assert)

遵循 AAA 模式,使测试清晰且易于维护:

  • Arrange:设置必要的前置条件和输入。
  • Act:执行正在测试的函数或方法。
  • Assert:验证结果是否符合预期。

最佳实践

  • 每个测试一个断言:尽量让每个测试用例只测试一个概念。
  • 描述性命名:清楚地命名测试(例如,test_should_reject_invalid_api_key)。
  • 相互独立:确保测试之间互不依赖,也不依赖特定的执行顺序。
  • 快速执行:保持单元测试快速运行,以鼓励频繁执行。

评论

支持 Markdown