Pytest 命令行常用参数
简介
Pytest 支持多种命令行参数,用于控制测试运行的行为。
命令行运行测试用例的优点
- 简单易用:在终端中运行
pytest
命令即可自动发现并运行测试用例。 - 自动化测试发现:pytest 会自动搜索项目中所有的测试文件,并发现其中的测试用例。
- 强大的测试运行和收集功能:可以通过各种选项和标记来定制测试用例的运行方式,如只运行某个目录下的测试用例、只运行特定标记的测试用例等。
命令行参数的使用
--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
总结
- 使用命令行参数的优点。
- 命令行参数的使用。