Skip to content

Pytest 命令行常用参数


简介

Pytest 支持多种命令行参数,用于控制测试运行的行为。


命令行运行测试用例的优点

  1. 简单易用:在终端中运行 pytest 命令即可自动发现并运行测试用例。
  2. 自动化测试发现:pytest 会自动搜索项目中所有的测试文件,并发现其中的测试用例。
  3. 强大的测试运行和收集功能:可以通过各种选项和标记来定制测试用例的运行方式,如只运行某个目录下的测试用例、只运行特定标记的测试用例等。

命令行参数的使用

  • --help:获取所有参数列表
  • -m:执行某个标签的用例
  • -v:打印详细日志
  • -s:打印输出日志(一般-vs一块儿使用)
  • -k:执行包含某个关键字的测试用例
  • -x:用例遇到第一个失败(fail/error),就立刻停止执行
  • --maxfail=num:用例失败数达到 num 的数量后停止执行
  • --collect-only:只收集不执行

示例代码

# test_double.py

def double(a):
    return a * 2

def test_double_int():
    assert 2== double(1)

def test_double1_minus():
    assert -20 == double(-1) #有错误的用例

def test_double_float():
    assert 0.2 == double(0.1)

def test_double2_minus():
    assert -0.2 == double(-0.1)

def test_double_0():
    assert 0 == double(0)

def test_double_bignum():
    assert 200 == double(100)

def test_double_str():
    assert 'aa' == double('a')

def test_double_str1():
    assert 'a$a$' == double('a$')

打印详细日志和输出日志

pytest test_double.py -vs


执行包含关键字的测试用例

执行包含关键字 str 的测试用例:
pytest test_double.py -k "str"


用例一旦失败就立即停止运行

pytest test_double.py -x


用例失败数达到某个值后停止执行

用例失败数达到 3 次后停止执行:
pytest test_double.py --maxfail=3


只收集不运行测试用例

pytest --collect-only


总结

  • 使用命令行参数的优点。
  • 命令行参数的使用。