Pytest自定义测试用例执行顺序
文章目录
- 1.前言
- 2.pytest默认执行顺序
- 3.pytest自定义执行顺序
1.前言
在pytest中,我们可能需要自定义测试用例的执行顺序,例如登陆前需要先注册,这个时候就需要先执行注册的测试用例再执行登录的测试用例。
本文主要讲解pytest的默认执行顺序以及如何自定义测试用例执行顺序
2.pytest默认执行顺序
在pytest中,如果执行一个目录下的所有测试用例,会按照文件中在目录的位置从上往下执行,文件的顺序是由文件名中的第一个字母来排序的。
例如:
如果执行单个py文件中的测试用例,是按照从上往下执行的:
3.pytest自定义执行顺序
假设这里有四条测试用例,如果不指定顺序,那么默认执行的顺序肯定是不符合我们的要求的。
如果把测试用例按照顺序都写到一个文件中是没问题的,但显然是不会这么做的。按照文件命名也这种方式也不可取,因此需要我们自定义执行测试用例的执行顺序。
自定义测试用例执行的顺序需要使用到pytest-ordering
插件
打开命令行输入以下命令开始安装:
pip install pytest-ordering
安装完成之后,就可以使用了.使用也很简单,只需要在类或者方法上添加@pytest.mark.run(order=X)
即可。
- @pytest.mark.run(order=X):用于指定测试用例的执行顺序,X是一个整数,数字越小的测试用例越先执行。
添加到类上
可以看到测试用例按照正确的顺序进行执行了。
添加到方法上
也可以看到测试用例按照对应的顺序执行了