- 首先需要安装 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的顺序来运行的!