pytest -ordering 更改执行用例的顺序


  • 首先需要安装 pytest-ordering 插件来实现更改用例的执行顺序。
  • 官方文档: https://pytest-ordering.readthedocs.io/en/develop/
  • pytest默认状态下的执行顺序是从上到下

示例代码:

import pytest

class Test_login():
    def test_login_001(self):
        print("\n test login 001")

    def test_login_002(self):
        print("\n test login 002")

    def test_login_003(self):
        print("\n test login 003")

    def test_login_004(self):
        print("\n test login 004") 

运行结果:

修改上面的示例:在每个function前增加一句  @pytest.mark.run(order=x)

import pytest

class Test_login():
    @pytest.mark.run(order=3)
    def test_login_001(self):
        print("\n test login 001")

    @pytest.mark.run(order=4)
    def test_login_002(self):
        print("\n test login 002")

    @pytest.mark.run(order=1)
    def test_login_003(self):
        print("\n test login 003")

    @pytest.mark.run(order=2)
    def test_login_004(self):
        print("\n test login 004") 

运行结果:

可以看到用例的执行顺序完全是按照order的顺序来运行的!