pytest怎么指定用例的执行顺序

在 pytest 中,默认情况下,测试用例是按照其在文件中的定义顺序执行的。然而,如果你想显式地指定测试用例的执行顺序,可以使用 pytest 提供的装饰器 @pytest.mark.run(order=n),其中 n 为一个整数,用于指定用例的顺序。

以下是一个示例:

import pytest

@pytest.mark.run(order=1)
def test_case1():
    # 测试用例1的代码

@pytest.mark.run(order=2)
def test_case2():
    # 测试用例2的代码

@pytest.mark.run(order=3)
def test_case3():
    # 测试用例3的代码

在上述示例中,@pytest.mark.run(order=n) 装饰器被应用到每个测试用例函数上,并且 n 的值决定了用例的执行顺序。在这个示例中,test_case1 将首先执行,然后是 test_case2,最后是 test_case3

需要注意的是,pytest.mark.run.order 插件默认是不安装的,你需要手动安装它。你可以通过以下命令使用 pip 安装 pytest-ordering:

$ pip install pytest-ordering

安装后,你就可以使用 @pytest.mark.run(order=n) 标记来指定测试用例的执行顺序。