Pytest測試框架:默認從上到下順序執(zhí)行測試用例,即按文件中創(chuàng)建順序執(zhí)行。
如果想要按自己設(shè)定的執(zhí)行順序執(zhí)行,可以通過pytest的函數(shù)裝飾器,標記被測試函數(shù)來決定用例執(zhí)?的順序。
使用步驟:
1、pyCharm 安裝pytest-ordering插件:pip install pytest-ordering
2、在被測試用例前添加一個裝飾標記:@pytest.mark.run(order=x)。
根據(jù)order傳?的參數(shù)來解決運?順序。
order值全為正數(shù)或全為負數(shù)時,運?順序:值越?,優(yōu)先級越?。
正數(shù)和負數(shù)同時存在:正數(shù)優(yōu)先級?。
執(zhí)行順序:order=數(shù)字
0 > 較小的正數(shù) > 較大正數(shù) > 不使用order > 較小負數(shù) > 較大負數(shù)
3、具體使用實例
# 1.導入pytest
import pytest
# 2.編寫測試用例
@pytest.mark.run(order=1)
def test_A():
print("A")
assert "12" in "12345"
@pytest.mark.run(order=2)
def test_B():
print("B")
assert True
@pytest.mark.run(order=4)
def test_C():
print("C")
assert True
@pytest.mark.run(order=3)
def test_D():
print("D")
assert True
if __name__ == '__main__':
pytest.main()
執(zhí)行結(jié)果:
test_order.py::test_A PASSED [ 25%]A
test_order.py::test_B PASSED [ 50%]B
test_order.py::test_D PASSED [ 75%]D
test_order.py::test_C PASSED [100%]C
============== 4 passed in 0.06s ============
Process finished with exit code 0