目录
只有认知的突破 💫才能带来真正的成长 💫编程技术的学习 💫没有捷径 💫一起加油💫

🍁感谢各位的观看 🍁欢迎大家留言 🍁咱们一起加油 🍁努力成为更好的自己🍁
pytest自定义用例执行顺序
pytest默认是按用例的字母顺序来执行的。pytest可以自定义用例的执行顺序,它有两种自定义的方式,绝对和相对,绝对和相对的方式的优先级,跨文件也成立。
安装插件
它需要安装一个插件------pytest-order。
指令:pip install pytest-order
绝对顺序
语法:@pytest.mark.order(数字),数字代表优先级,数字越小优先级越高。跨文件也成立。
同一个文件中
如下所示的代码。
python
import pytest
@pytest.mark.order(3)
def test_1():
print("test_1")
@pytest.mark.order(2)
def test_2():
print("test_2")
@pytest.mark.order(1)
def test_3():
print("test_3")
如下图所示。
跨文件
跨文件中,优先级也存在。如下所示的两个文件。

|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| #test_01.py import pytest @pytest.mark.order(1) def test_3(): print("test_3") | #test_02.py import pytest @pytest.mark.order(5) def test_2(): print("first") |
如下所示的结果。

相对顺序
指令:@pytest.mark.first,@pytest.mark.second,@pytest.mark.secondlast,@pytest.mark.last。
优先级:first -> second -> secondlast ->last
如下所示的代码。
python
import pytest
@pytest.mark.second
def test_2():
print("test_2")
@pytest.mark.first
def test_3():
print("test_3")
如下所示的执行结果。

总结
在使用first,sencond......的时候,会告警。因为Pytest没有识别到这些标记,所以可以在pytest.ini文件中配置一些信息,来表明这些标记。如下所示。
python
[pytest]
markers =
first: 标记用例最先执行
second: 标记用例第二个执行
last: 标记用例最后执行
secondlast: 标记用例倒数第二个执行