pytest 常用命令参数

发布于:2025-06-04 ⋅ 阅读:(37) ⋅ 点赞:(0)

以下是 pytest 常用命令参数 的整理,涵盖测试运行、过滤、调试、报告等常见场景,方便你高效使用 pytest:


1. 基本测试运行

命令 说明
pytest 运行当前目录及子目录下所有测试(test_*.py*_test.py
pytest path/to/test_file.py 运行指定测试文件
pytest path/to/test_dir/ 运行指定目录下的所有测试
pytest -v 显示详细输出(每个测试用例的名称和结果)
pytest -s 输出调试信息,包括输出print信息
pytest -q 静默模式(只显示简要结果)
pytest -n 多线程或分布式执行测试用例

2. 选择特定测试

命令 说明
pytest -k "keyword" 只运行名称包含 keyword 的测试(模糊匹配)
例:pytest -k "login" 匹配 test_login()TestLogin
pytest path/to/test_file.py::test_func 运行指定文件的特定测试函数
pytest path/to/test_file.py::TestClass::test_method 运行指定类的特定测试方法
pytest -m marker 运行标记(mark)为 marker 的测试
需先在测试中用 @pytest.mark.marker 标记

3. 失败控制与调试

命令 说明
pytest --lf--last-failed 只重新运行上次失败的测试
pytest --ff--failed-first 先运行上次失败的测试,再运行其他
pytest -x 遇到第一个失败时停止测试
pytest --maxfail=2 最多允许 2 次失败,之后停止
pytest --pdb 测试失败时自动进入 pdb 调试器

4. 测试报告与输出

命令 说明
pytest -rA 显示所有测试结果的详细摘要
pytest --durations=5 显示最慢的 5 个测试(性能分析)
pytest --cov=path/to/module 生成代码覆盖率报告(需安装 pytest-cov
pytest --html=report.html 生成 HTML 测试报告(需安装 pytest-html

5. 参数化与 Fixture

命令 说明
pytest --fixtures 查看所有可用的 fixture
pytest --setup-show 显示测试的 fixture 执行顺序

6. 其他实用参数

命令 说明
pytest --collect-only 只列出所有测试用例,不执行
pytest --version 查看 pytest 版本
pytest -h 查看完整帮助文档

常用组合示例

  1. 快速重跑失败测试
    pytest --lf -v
    
  2. 只运行标记为 smoke 的测试
    pytest -m smoke
    
  3. 调试慢测试
    pytest --durations=10 -v
    
  4. 生成覆盖率报告
    pytest --cov=src --cov-report=html
    

配置文件(pytest.ini

可以在项目根目录创建 pytest.ini 文件,默认配置常用参数,例如:

[pytest]
addopts = -v --html=report.html
markers =
    smoke: 冒烟测试
    slow: 慢测试

网站公告

今日签到

点亮在社区的每一天
去签到