mcpField
P
python-testing

python-testing

github.com/mindrally测试与质量2871.1k 次安装3 周前更新
代码仓库

关于 python-testing

面向 Python 测试的技能,重点涵盖 pytest、单元测试和测试驱动开发。内容包括测试设计、夹具、模拟、集成测试、基于属性的测试与覆盖率。

主要功能

  1. 01pytest 测试结构与夹具
  2. 02参数化且相互独立的测试
  3. 03单元测试与集成测试
  4. 04模拟外部依赖
  5. 05使用 hypothesis 进行属性测试
  6. 06覆盖率规划与报告

适用场景

  1. 01根据函数行为创建单元测试
  2. 02测试边界情况与边界值
  3. 03检查 API 或数据库交互
  4. 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