超级实用!汇总pytest中那些常用的参数

超级实用!汇总pytest中那些常用的参数_第1张图片

刚开始使用pytest的同学,可能感觉最复杂的点就是其提供的各种参数,丰富的命令行参数在带来了灵活控制测试行为的同时也增加了对于新手的上手难度。在这里,我总结了一下pytest常用参数的分类,并提供详细的使用方法!

如果读者是pytest小白,可以参考下面的文章,快速上手pytest:

用最精简的例子带您快速了解Pytest框架中最核心的功能-CSDN博客

一、基础运行参数

  1. 指定运行范围

    • pytest <路径>
      运行指定目录或文件中的测试(默认当前目录)。

      pytest tests/              # 运行 tests 目录下的所有测试
      pytest test_api.py         # 运行单个文件
      pytest tests/test_math.py::test_add  # 运行特定测试函数
  2. -v / --verbose
    显示详细输出(包括每个测试用例的名称和结果)。

    pytest -v
  3. -s / --capture=no
    禁用输出捕获,直接打印测试中的 print 或日志信息。

    pytest -s
  4. -k <表达式>
    通过名称匹配测试用例(支持逻辑运算符 and/or/not)。

    pytest -k "add and not multiply"  # 运行名称包含 add 但不含 multiply 的测试
  5. -m <标记>
    运行带有特定标记的测试用例(需提前用 @pytest.mark 标记)。

    pytest -m "smoke or regression"  # 运行标记为 smoke 或 regression 的测试

二、失败处理参数

  1. -x / --exitfirst
    遇到第一个失败用例后立即停止测试。

    pytest -x
  2. --lf / --last-failed
    仅重新运行上次失败的测试。

    pytest --lf
  3. --ff / --failed-first
    先运行上次失败的测试,再运行其他测试。

    pytest --ff
  4. --pdb
    在测试失败时自动进入调试模式(需安装 pdb)。

    pytest --pdb

三、输出与报告

  1. --tb=