mcpField
T
testing-python

testing-python

github.com/thebeardedbearsas测试与质量107205 次安装今天更新
代码仓库

关于 testing-python

面向 Python 3.14+ 项目的测试策略技能,整理 pytest、Ruff、mypy、Playwright 等工具的测试与质量检查用法。

主要功能

  1. 01使用 pytest 进行单元与集成测试
  2. 02用 Ruff 检查并格式化代码
  3. 03通过严格 mypy 执行类型检查
  4. 04使用 Playwright、Hypothesis 和 Mutmut

适用场景

  1. 01为 FastAPI 或 Django 后端编写测试
  2. 02在 CI 中配置 lint、格式化与类型检查
  3. 03用 Playwright 验证浏览器端流程
  4. 04通过属性测试和变异测试检查测试质量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill testing-python

安装后在 Claude Code 中输入/testing-python确认已加载。

附带文件REFERENCE.md

详细介绍

Python 3.14+ 测试策略

版本: Python 3.14+ | pytest 9.x | Ruff 0.17+ | mypy 2.x | Playwright

Ruff 可替代 Black + isort + Flake8(速度快 10–100 倍)。严格模式的 mypy 可在编译时消除类型错误。

2026 年推荐技术栈

类型工具用途
单元/集成pytest 9.xFastAPI/Django 后端测试
Lint + 格式化Ruff 0.17+速度比 Black+Flake8 快 10–100×
类型检查mypy 2.x 严格模式静态检查
端到端/浏览器PlaywrightWeb 前端测试
BDD(Gherkin)pytest-bddGiven/When/Then 场景
变异测试Mutmut测试质量(得分 >= 80%)
基于属性的测试Hypothesis自动生成测试用例

来源: pytest、Ruff、Mutmut

不可妥协的要求

  • 覆盖率 >= 80%(在 pyproject.toml 中设置 --cov-fail-under=80)
  • mypy 严格模式——不允许存在未经说明的 Any,disallow_untyped_defs = true
  • CI 中必须使用 Ruff(检查 + 格式化)
  • 每个测试都采用 AAA(Arrange-Act-Assert)模式
  • 使用 pytest fixtures 进行依赖注入(不使用全局状态)
  • 通过 Mutmut 实现变异测试得分 >= 80%

各类测试检查清单

类型检查项
单元测试完全隔离、pytest fixtures、unittest.mock 模拟对象
集成测试FastAPI TestClient / Django Client、测试数据库
端到端测试Playwright sync_api、expect() 断言
基于属性的测试使用 Hypothesis @given 自动测试边界情况
变异测试mutmut run,合并前得分 >= 80

完整详情、代码示例、配置和检查清单:请参阅 REFERENCE.md

评论

支持 Markdown