pytest中前置和后置條件的設置


pytest中的前置后置分為4個級別:
- 用例級別
- 用例類級別
- 用例模塊(文件)級別
- 會話(程序)級別
pytest中設置前后置條件用@pytest.fixture()
為方便管理,pytest中前置后置條件的設置可以放到conftest.py文件中(就是這個名字,且和運行文件同級別),
測試用例模塊中用到conftest.py文件中的前置后置條件時不必導入,直接用即可

import pytest

# 用例級別的前置后置條件
@pytest.fixture()
def case_fixture():
    # 前置條件
    print("------------用例執行的前置條件--------------------")
    yield
    # 后置條件
    print("------------用例執行的后置條件--------------------")


# 用例級別的前置后置條件
@pytest.fixture()
def case02_fixture():
    # 前置條件
    print("--------02----用例執行的前置條件--------------------")
    yield
    # 后置條件
    print("--------02----用例執行的后置條件--------------------")


@pytest.fixture()
def case03_fixture():
    # 前置條件
    print("--------03----用例執行的前置條件--------------------")
    yield
    # 后置條件
    print("---------03---用例執行的后置條件--------------------")


# 類級別的前置后置
@pytest.fixture(scope='class')
def class_fixture():
    # 前置條件
    print("-------用例類-----執行的前置條件--------------------")
    yield
    # 后置條件
    print("-------用例類-----執行的后置條件--------------------")


@pytest.fixture(scope='class')
def class02_fixture():
    # 前置條件
    print("-------用例類02-----執行的前置條件--------------------")
    yield
    # 后置條件
    print("-------用例類02-----執行的后置條件--------------------")


# 模塊級別的前置后置:
# autouse=True:添加此參數后模塊級別的前后置會自動執行,不需要手動添加到指定的類或函數上去
@pytest.fixture(scope='module', autouse=True)
def module_fixture():
    # 前置條件
    print("-------模塊-----執行的前置條件--------------------")
    yield
    # 后置條件
    print("-------模塊-----執行的后置條件--------------------")

# 會話級別的前置后置:
@pytest.fixture(scope='session', autouse=True)
def session_fixture():
    # 前置條件
    print("-------會話級別-----執行的前置條件--------------------")
    yield
    # 后置條件
    print("-------會話級別-----執行的后置條件--------------------")

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM