SuperAPI AI 工具集

Test-Driven Development (TDD)

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

用途:帮助开发者以 pytest 实践测试驱动开发,用测试驱动设计决策,产出干净、可靠的测试套件。

主要能力:讲解 Red-Green-Refactor-Commit 四步循环——先写会失败的测试(RED),再写最小实现使其通过(GREEN),在测试保持通过的前提下重构设计(REFACTOR),每个循环后提交(COMMIT)。强调 FIRST 原则:Fast、Isolated、Repeatable、Self-validating、Timely;测试结构采用 AAA(Arrange-Act-Assert)模式。列出需避免的反模式,如不真正验证行为的测试、事后编写的常绿测试、过多前置设置、断言过多、测试实现细节、跳过重构、为测试破坏封装、忽视测试带来的痛苦信号。

使用方式:先写最简单的测试用例,再写生产代码;快速使其通过;放心重构;频繁提交。用 Pants 运行测试时须使用目标地址而非文件路径,例如 pants test epistemix_platform:src-tests;向 pytest 传参需在 -- 之后,如 pants test epistemix_platform:src-tests -- -vv、-- -k "test_user"、-- -x、-- -s。测试目录可按 unit、integration 与 conftest.py 组织。

适用场景:需要以测试驱动方式开发新功能、重构既有代码或建立团队 TDD 工作流的项目。

限制:资料未提供具体安装命令、版本要求、收费信息或平台支持范围;示例中的项目路径与目标地址为资料原文,需按实际项目调整。