SuperAPI AI 工具集

python-testing-patterns

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

用途:帮助编写让行为更易安全变更的 Python 测试,强调聚焦、可读的测试,而非炫技式 fixture 或覆盖率表演。

主要能力:给出 pytest 基础模式,包括普通断言测试、用 pytest.raises 验证异常、用 pytest.mark.parametrize 做参数化用例;用 fixture 提供可复用且生命周期清晰的初始化;在系统边界处 mock,如 HTTP 客户端、文件系统或对象存储、非持久化测试中的数据库会话、时间与随机性、昂贵的模型或 API 调用;当行为复杂到调用断言变脆时,优先用 fake 替代 mock。

测试套件结构:建议小型金字塔——大量针对纯逻辑的单元测试、较少针对边界的集成测试、少量针对关键工作流的端到端测试;测试命名按行为,如 test_<unit><scenario><expected_behavior>。

核心原则:一个测试对应一个行为;遵循 Arrange/Act/Assert;测试边界与错误,不能只有 happy path;隔离外部影响;使用有意义的覆盖率,覆盖重要行为与风险而非每一行。

使用方式:编写或建议测试时,输出目标行为、所需测试层级、fixtures/mocks、具体测试用例、缺失的边界与错误路径,以及运行聚焦测试的命令。

限制:资料未提供具体安装命令、版本要求、完整 API 或收费信息;异步测试、monkeypatching、基于属性的测试、数据库测试、CI 与覆盖率工具等高级模式需查阅 references/advanced-patterns.md。