Pytest简单指令说明
以用例的执行为例:
----------
名词解释:
用例文件: 指类似test_xxx.py或xxx_test.py这样的写好的py文件。一个文件是一个Module(测试模块),内部包含多个Function(测试方法)
方法:指用例文件中包含的测试方法
指令集:
1. pytest test.py
直接运行test.py。执行结果显示简要说明(成功/失败)
2.pytest -v test.py
运行test.py。执行结果显示详细报告(触发断言或异常的情况)
3.pytest
运行当前路径下所有以 “test_” 开头或以 “_test” 结尾的.py文件
4. pytest tasks/test.py tasks/another_test.py
运行tasks目录下的 test.py 及 another_test.py 文件
5.pytest tasks
运行task目录下所有以 “test_” 开头或以 “_test” 结尾的.py文件
6.pytest -v tasks/another_test.py::test_asdict
运行task目录下another_test.py文件中的test_asdict方法
7.pytest --collect-only
收集当前目录下所有的用例(所有以 “test_” 开头或以 “_test” 结尾的.py文件)文件中的详细信息(模块和方法信息),以列表形式显示在窗口中
8.pytest -k "asdict or defaults" --collect-only
收集当前目录下,名称包含“asdict”或“defaults”的用例文件的详细信息
9. pytest -v -k "asdict or defaults"
运行当前目录下,名称包含“asdict”或“defaults”的用例文件,并显示详细执行结果
10.pytest -m run_role_modules
运行当前目录下,所有带有装饰器“@pytest.mark.run_role_modules”的方法
11.pytest -m "run_role_modules and not run_user_modules"
运行当前目录下,所有带有装饰器“@pytest.mark.run_role_modules”且不带有装饰器“@pytest.mark.run_user_modules”的方法。
上面用到的方法是“a and not b”类型的条件,类似的,还可以用 “a or b” “a and b” 这种方式对于方法进行筛选执行
12.pytest -x
运行当前目录下,所有的用例文件,并在出现第一条执行失败的方法时,中断用例执行(exitfirst)
13.pytest --maxfail=2
运行当前目录下,所有的用例文件,并在方法执行失败数量共计达到两条时,中断用例执行(若数值设为1,等同于 -x 的效果)
14.pytest --tb=no
运行当前目录下,所有用例文件,并关闭堆栈跟踪(即不显示FAILURES信息,只显示统计结果)
15.pytest -s
运行当前目录下,所有的用例文件,并关闭输出显示(即失败或成功都不显示输出结果)
效果等同于 --capture=no
16.pytest --capture=xx
运行当前目录下,所有的用例文件,并显示所有输出(即成功的用例和print语句结果都会显示)
xx代表 --capture=fd 和 --capture=sys 两种参数,前者会把输出结果保存至临时文件,后者会替换掉系统内存的数据文件
17.pytest -l
运行当前目录下,所有的用例文件,并显示失败用例的所有输出(即可以不用写print语句,达到显示每步执行结果的效果)
效果等同于 --showlocals
18.pytest --lf
运行当前目录下,所有的用例文件,并显示最后一条失败用例的详细信息(lats-failed)
类似的,还有 --ff 方法,显示第一条失败用例的信息(first-failed)
19.pytest -q
运行当前目录下,所有的用例文件,与 -v 效果相反,该指令会省略信息显示
20.pytest --durations=10
运行当前目录下,所有的用例文件,并显示前十条运行速度最慢的方法的执行时间

浙公网安备 33010602011771号