SuperAPI AI 工具集

python-pytest

测试与质量

查看项目

更新于 10-16 09:44

技能介绍

用途:这是一套使用 pytest 编写高质量测试的通用规范,供创建或修改测试文件时参考。核心原则是测试快速、独立、可重复、自验证,每个测试函数只验证一个行为,核心逻辑目标覆盖率 ≥ 80%。

主要能力:覆盖单元测试、集成测试(内部流程)、生产环境冒烟测试三类,推荐 tests/unit、tests/integration、tests/production 三层目录分离;提供测试类型决策树,按返回值、行为、外部依赖、异步代码、多输入组合、异常、共享资源分别给出推荐方式。

使用方式:测试文件与函数以 test_ 开头,辅助文件不用该前缀;函数命名遵循 test_<功能><场景><预期结果>,结构采用 AAA(Arrange-Act-Assert)模式。按层执行可用 pytest tests/unit/、pytest tests/integration/、pytest tests/production/ -v、pytest -m "not production"。覆盖率命令 pytest --cov=src --cov-report=term-missing,并行需 pytest-xdist 用 pytest -n auto。fixture 在 conftest.py 定义,支持 session/module/class/function 作用域;参数化用 @pytest.mark.parametrize;异常用 pytest.raises;Mock 可选 monkeypatch 或 pytest-mock(mocker),patch 应作用于被测试代码引用的路径;异步测试需 pytest-asyncio,配置 asyncio_mode = "auto"。配置写入 pyproject.toml 的 tool.pytest.ini_options,并注册自定义 marker。

适用场景:Python 项目的日常测试编写、CI 快速验证、真实依赖集成验证与发布后只读冒烟检查。

限制:生产测试只读不写、禁止造脏数据、单线程串行、禁止 truncate/drop;禁止高并发测试与在生产直接跑普通单元测试;内部模块被大量 Mock 会导致流程未真正串联;测试间不得有隐式依赖。具体依赖安装命令与版本、源码实现细节等资料暂未提供。