Pytest 测试用例调度与运行
简介
在 pytest 中,测试用例的调度与运行指的是 pytest 如何发现、加载、排序并执行测试。
测试用例执行顺序
默认情况下,pytest 会按照文件名的字母顺序,逐个收集测试文件,并按文件中函数和类的定义顺序运行测试。
- 按文件顺序:测试文件的字母顺序。
- 按函数顺序:在每个文件中,按函数定义的顺序执行。
- 按类顺序:如果测试类内包含多个测试方法,则按方法定义顺序运行。
控制测试用例的执行顺序
- pytest-order 插件:允许用户显式控制测试执行顺序。
- 只执行失败:
--lf(--last-failed)
,只重新运行上次执行失败的用例 - 失败优先:
--ff(--failed-first)
,先运行上次执行失败的用例,然后再运行其余的测试
只重新运行失败的测试用例
pytest test_double.py --lf
将用例修改成功后再运行这一命令,则会将所有测试用例执行一遍。
先运行失败的测试用例然后再运行其余的测试用例
pytest test_double.py --ff
总结
- 测试用例执行顺序
- 控制测试用例的执行顺序