Pytest測試框架:默認(rèn)從上到下順序執(zhí)行測試用例局待,即按文件中創(chuàng)建順序執(zhí)行抖甘。
如果想要按自己設(shè)定的執(zhí)行順序執(zhí)行,可以通過pytest的函數(shù)裝飾器书劝,標(biāo)記被測試函數(shù)來決定用例執(zhí)?的順序老充。
使用步驟:
1葡盗、pyCharm 安裝pytest-ordering插件:pip install pytest-ordering
2、在被測試用例前添加一個裝飾標(biāo)記:@pytest.mark.run(order=x)蚂维。
根據(jù)order傳?的參數(shù)來解決運(yùn)?順序戳粒。
order值全為正數(shù)或全為負(fù)數(shù)時,運(yùn)?順序:值越?虫啥,優(yōu)先級越?蔚约。
正數(shù)和負(fù)數(shù)同時存在:正數(shù)優(yōu)先級?。
執(zhí)行順序:order=數(shù)字
0 > 較小的正數(shù) > 較大正數(shù) > 不使用order > 較小負(fù)數(shù) > 較大負(fù)數(shù)
3涂籽、具體使用實例
# 1.導(dǎo)入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