SuperAPI AI 工具集

pytest

测试与质量

查看项目

更新于 10-15 21:49

技能介绍

用途:Pytest 是 Python 生态中最广泛采用的测试框架,适用于 Web 后端、数据科学与机器学习等场景的单元测试与集成测试。

主要能力:支持直接使用 assert 断言并获得详细失败信息;通过 @pytest.fixture 提供模块化、可复用的依赖注入与生命周期管理(如数据库连接、会话的 setup/teardown);通过 @pytest.mark.parametrize 实现多组输入输出的参数化测试;通过自定义标记(如 @pytest.mark.slow、@pytest.mark.integration)分类并筛选测试;借助 pytest-asyncio、pytest-cov、pytest-xdist、pytest-mock 等插件扩展异步测试、覆盖率、并行执行与 mock 能力。

使用方式:编写 test_.py 文件与 test_ 函数,运行 pytest 命令执行;共享 fixture 与配置钩子放在 conftest.py;并行运行可用 pytest -n auto;按标记筛选可用 -m "not slow"。

限制与注意:不要写 assert(a == b, "msg"),因为非空元组恒为真;避免修改 session 级共享 fixture,测试隔离的变更应使用 function 级 fixture;不建议构建深层嵌套的类继承,优先使用独立测试函数。若遇到 ModuleNotFoundError,可用 python -m pytest 运行或在 pyproject.toml 配置 pythonpath;fixture 未找到时检查参数名拼写或将共享 fixture 移至根 conftest.py。