SuperAPI AI 工具集

testing-python-libraries

编程与开发

查看项目

更新于 10-16 00:20

技能介绍

用途:为 Python 库设计并实现 pytest 测试套件,覆盖 fixture、参数化、mock、Hypothesis 属性测试与 CI 配置。

主要能力:提供 pytest 配置示例(pyproject.toml 中 testpaths、addopts、coverage 分支覆盖与覆盖率下限);讲解测试结构(conftest.py 共享 fixture、按功能拆分测试文件);给出基础断言、参数化、fixture、mocker.patch、pytest.raises 等常用模式;并深入讨论“会撒谎的测试”,包括条件断言空过、过宽断言、只查存在不查重复、mock 被测对象、假实现忽略参数、冒烟测试导入错误对象、遗漏 mock 导致真实网络调用、CI 门禁空跑、空评估规则集被当作满分等反模式。

必要用法:常用命令为 uv run pytest、uv run pytest --cov=my_library、uv run pytest -x、uv run pytest -k "test_encode"。建议在配置中设置 --import-mode=importlib,避免 pytest 修改 sys.path 导致导入源码树而非已安装包;CI 中可配合非可编辑安装。可用 pytest-socket 的 --disable-socket 让未 mock 的网络调用直接失败。

适用场景:Python 库的单元测试与回归测试、CI 测试门禁、覆盖率与属性测试、对测试有效性做变异验证。

限制:资料未提供具体版本要求、依赖清单、平台支持范围、收费或价格信息;部分内容(如 Hypothesis 细节、CI/CD 配置)指向同仓库其他文档,本文未展开。