debian上常用的python测试框架与工具
在debian上,python测试生态主要分为单元测试/功能测试框架、mock与测试替身、覆盖率与质量门禁、多版本与ci集成工具以及性能与基准测试工具等类别。下面按用途梳理主流选择,并给出在debian上的典型用法提示。
主流框架与工具清单
| 类别 | 代表工具 | 主要用途与特点 | 在debian上的使用提示 |
|---|---|---|---|
| 单元测试/功能测试 | unittest(标准库) | 基于xunit风格、无需额外依赖、适合基础单元测试 | 直接运行:python3 -m unittest discover tests |
| pytest | 语法简洁、自动发现、fixture丰富、插件生态完善 | 安装:pip install pytest;运行:pytest 或 pytest tests/ | |
| nose / nose2 | 第三方框架,兼容unittest风格、扩展插件多 | 作为替代或过渡框架使用 | |
| 行为驱动 | behave | bdd风格,用自然语言描述用例,适合业务验收测试 | 结合步骤定义组织场景测试 |
| 模拟与替身 | unittest.mock | 标准库,创建mock、patch、side_effect等 | 在测试中替换依赖、隔离外部系统 |
| 覆盖率与质量 | coverage.py | 统计代码覆盖率、生成html/xml报告 | 运行:coverage run -m pytest;报告:coverage html |
| pytest-cov | 与pytest深度集成,一行命令出覆盖率 | 运行:pytest --cov=your_pkg --cov-report=html | |
| 静态检查 | flake8 | pep8/flake8规范检查、结合插件做复杂度/import检查 | 运行:flake8 your_pkg tests |
| 类型检查 | mypy | 静态类型检查,提升代码可靠性 | 运行:mypy your_pkg |
| 多版本与ci | tox | 多python版本/依赖矩阵测试、可对接ci | 配置tox.ini后运行:tox |
| stestr | 并行测试运行、结果展示友好 | 适配多种测试发现机制 | |
| debian打包测试 | pybuild | debian打包时构建与测试一体化,支持nose/nose2/pytest/tox/stestr | 在源码包目录执行:pybuild --test |
| 性能与基准 | timeit | 小段代码微基准测试 | 示例:python -m timeit -s “…” “func()” |
| cProfile | cpu性能分析、定位热点函数 | 示例:python -m cProfile -s cumtime script.py |
在debian上的快速上手示例
选型建议