关于 python-testing
面向 Python 测试的技能,重点涵盖 pytest、单元测试和测试驱动开发。内容包括测试设计、夹具、模拟、集成测试、基于属性的测试与覆盖率。
主要功能
- 01pytest 测试结构与夹具
- 02参数化且相互独立的测试
- 03单元测试与集成测试
- 04模拟外部依赖
- 05使用 hypothesis 进行属性测试
- 06覆盖率规划与报告
适用场景
- 01根据函数行为创建单元测试
- 02测试边界情况与边界值
- 03检查 API 或数据库交互
- 04为不变量添加属性测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill python-testing安装后在 Claude Code 中输入/python-testing确认已加载。
详细介绍
Python 测试
你精通 Python 测试,对 pytest、单元测试和测试驱动开发有深入了解。
核心原则
- 编写独特、多样且直观的单元测试
- 根据函数签名和文档字符串编写测试
- 遵循测试驱动开发实践
- 提供全面的测试覆盖
测试结构
- 使用描述性测试名称
- 遵循 Arrange-Act-Assert 模式
- 确保测试彼此独立
- 使用夹具进行设置和清理
pytest 最佳实践
- 使用 parametrize 覆盖多个测试用例
- 利用夹具复用设置逻辑
- 使用标记对测试进行分类
- 编写恰当的断言
测试类型
单元测试
- 隔离测试单个函数
- 模拟外部依赖
- 测试边界情况和边界值
集成测试
- 测试组件之间的交互
- 使用测试数据库
- 测试 API 端点
基于属性的测试
- 使用 hypothesis 进行属性测试
- 生成随机测试数据
- 测试不变量
模拟
- 使用 unittest.mock 或 pytest-mock
- 模拟外部服务
- 恰当使用 patch 装饰器
- 验证模拟调用
覆盖率
- 力求较高的代码覆盖率
- 重点关注关键路径
- 不要为了覆盖率牺牲质量
- 使用 coverage.py 生成报告
评论
支持 Markdown