SuperAPI AI 工具集

pytest

测试与质量

查看项目

更新于 10-16 08:44

技能介绍

用途:pytest 是 Python 的测试框架,用于编写和运行单元测试、集成测试。本技能提供使用 pytest 的专家指导,适用于编写测试、搭建测试 fixture、组织测试项目等场景。

主要能力:支持测试函数与 assert 断言;fixture 依赖注入实现 setup/teardown;marker 标记测试元数据(如 skip、xfail、parametrize、自定义标记);parametrize 参数化多组输入;monkeypatch 与 pytest-mock 进行 mock、spy、异步 mock;内置 fixture 包括 tmp_path、tmpdir、capsys、caplog、monkeypatch、request;fixture 作用域支持 function、class、module、session;插件覆盖覆盖率、并行、异步、Django、Flask、FastAPI。

使用方式:安装命令为 pip install pytest。运行方式包括 pytest(运行全部)、pytest -v(详细)、pytest -s(显示打印)、pytest -x(首次失败即停)、pytest -k "pattern"(按名称匹配)、pytest -m slow(按标记)、pytest --cov=mypackage(覆盖率)、pytest -n auto(并行,需 xdist)、pytest --lf(上次失败)、pytest --pdb(失败调试)。配置可写在 pytest.ini 或 pyproject.toml 的 [tool.pytest.ini_options] 中,设置 testpaths、addopts、markers。项目结构通常为 src/ 放源码、tests/ 放测试,conftest.py 存放共享 fixture。

适用场景:Python 项目的单元测试与集成测试、需要 fixture 管理测试依赖、需要参数化减少重复用例、需要 mock 外部依赖、需要按标记分类运行测试。

限制:资料未提供具体版本兼容性、性能数据、收费信息或与其他测试框架的对比;部分插件(如 xdist、pytest-cov)需另行安装,资料未给出安装命令。