SuperAPI AI 工具集

python3-tdd

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:当 Python 任务明确要求测试驱动开发、测试先行实现或红-绿-重构工作流时使用。该技能按阶段推进 TDD,并引用共享的 Python 开发规范与测试模式。

主要能力与流程:

  1. 设计接口:只定义表达被测行为所需的接口,保留项目既有架构与类型约定;涉及边界类型或模型时加载 python3-typing。
  2. 编写失败测试:加载 python3-testing 获取 fixture 模式与测试结构;测试初始必须失败(RED),采用 AAA 模式与行为化命名;运行最小相关 pytest 目标并确认 RED。运行前记录预期失败原因,只有观察到的失败能证明缺失行为时 RED 才有效;语法、导入、fixture 失败或测试已通过都不算确立需求。
  3. 实现通过:用最小代码使测试通过(GREEN);每次改动后运行最小相关 pytest 目标,对比观察结果与预期 GREEN 结果;仅在测试保持绿色时重构。
  4. 验证:运行 uv run prek run --files src/ tests/ 做 lint、格式化与类型检查;无 .pre-commit-config.yaml 时回退为 uv run ruff check src/ tests/ 与 uv run ruff format --check src/ tests/;用 uv run pytest --cov=src --cov-report=term-missing 运行带覆盖率的测试。
  5. 质量门:所有测试通过、无 lint 错误、无类型错误、变更行为/边界/回归有适当测试、遵守项目既有覆盖率门槛(若配置)、脚本 shebang 已验证。

适用场景:需要严格 TDD 的 Python 功能开发、缺陷修复与重构。限制:资料未提供具体安装方式、收费信息或平台支持范围;使用前需具备 pytest、uv、ruff 等工具环境,并参考 standards-for-python-development 与 python3-testing 等关联技能。