在unittest中,测试用例的执行顺序与测试用例的名称有关,按照名称的ascii码排序的,并不是按照用例的编写顺序执行的。
pytest默认是按用例的编写顺序执行的
我们可以通过第三方包 pytest-ordering 来自定义我们用例的执行顺序。
方法是使用装饰器 @pytest.mark.run(order=num) 标记用例,标记后,用例优先级别如下:
- 标记的用例,num值越小优先级越高
- 标记的用例优先级高于未标记的用例
- 标记影响是全局,而不是仅影响当前用例py文件
- 同等级按模块以及编写顺序执行