pytest本身執行測試用例是無序的,若要按照一定的順序,可以按照下面的方式進行:
先要安裝該插件,pip3 install pytest-ordering,然後加上如下裝飾器,既可以運行
1、標記於被測試函數, @pytest.mark.run(order=x)
2、根據order傳入的參數來解決運行順序
3、order值全爲正數或負數時,值越小優先級越高
4、正負數同時存在時,正數優先極高
5、已標記和未標記的函數,已標記的函數優先極高
class TestBBB: @pytest.mark.run(order=10) def test_demo1(self): assert 2 == 2 assert 2 == 2 assert 2 == 2 assert 2 == 2 @pytest.mark.run(order=1) def test_demo2(self): assert 23 == 23 assert 23 == 23
可以看到執行的順序是按照value的值,從1到大