Skip to content

Pytest命令行常用参数

Pytest 命令行常用参数

简介

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

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

  1. 简单易用:Pytest 的命令行工具非常简单易用,只需在终端中运行pytest命令即可自动发现并运行测试用例。不需要复杂的配置和设置,使得测试用例的运行变得非常简便。

  2. 自动化测试发现:Pytest 会自动搜索项目中所有的测试文件,并发现其中的测试用例。这样,无需手动指定测试文件路径和测试用例,大大减少了测试用例编写和执行的工作量,提高了测试的效率。

  3. 强大的测试运行和收集功能:Pytest 提供了灵活而强大的测试运行和收集功能。可以通过各种选项和标记来定制测试用例的运行方式,如只运行某个目录下的测试用例、只运行特定标记的测试用例等。这使得测试管理和组织变得更加灵活和方便。

命令行参数的使用

常见的命令行参数的使用

--help 获取所有参数列表
-x 用例一旦失败(fail/error),就立刻停止执行
--maxfail=num 用例达到 num 的数量后停止执行
-m  标记用例
-k  执行包含某个关键字的测试用例
-v 打印详细日志
-s 打印输出日志(一般-vs一块儿使用)
--collect-only(测试平台,pytest 自动导入功能 只收集不执行)
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$')

用例一旦失败就立即停止运行(-x):

  • pytest test_command_param.py -x

执行包含str关键字的测试用例(-k):

  • pytest test_command_param.py -k "str"

打印详细日志和输出日志(-vs):

  • pytest test_command_param.py -vs

只收集不运行测试用例:

  • pytest --collect-only

处理失败测试用例的命令行参数的使用

  • --lf(--last-failed) 只重新运行故障。
  • --ff(--failed-first) 先运行故障然后再运行其余的测试。

只重新运行失败的测试用例:

  • pytest --lf

将用例修改成功后再运行这一命令,则会将所有测试用例执行一遍。

先运行失败的测试用例然后再运行其余的测试用例:

  • pytest --ff

总结

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