Skip to content

Pytest 测试用例调度与运行


简介

在 pytest 中,测试用例的调度与运行指的是 pytest 如何发现、加载、排序并执行测试。


测试用例执行顺序

默认情况下,pytest 会按照文件名的字母顺序,逐个收集测试文件,并按文件中函数和类的定义顺序运行测试。

  • 按文件顺序:测试文件的字母顺序。
  • 按函数顺序:在每个文件中,按函数定义的顺序执行。
  • 按类顺序:如果测试类内包含多个测试方法,则按方法定义顺序运行。

控制测试用例的执行顺序

  • pytest-order 插件:允许用户显式控制测试执行顺序。
  • 只执行失败:--lf(--last-failed),只重新运行上次执行失败的用例
  • 失败优先:--ff(--failed-first),先运行上次执行失败的用例,然后再运行其余的测试

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

pytest test_double.py --lf


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


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

pytest test_double.py --ff


总结

  • 测试用例执行顺序
  • 控制测试用例的执行顺序