最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytest conftest.py使用的小結

 更新時間:2025年10月31日 11:54:11   作者:一半煙火以謀生  
pytest的conftest.py是核心配置文件, 本文就來詳細介紹pytest conftest.py使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1. conftest.py 是什么?

  • 核心配置文件,用于存放測試用例的共享邏輯
  • 自動被 pytest 發(fā)現,無需顯式導入
  • 支持功能:夾具(fixture)、鉤子函數(hooks)、插件配置

2. 基礎環(huán)境搭建

  1. 安裝 pytest:
    pip install pytest
    
  2. 創(chuàng)建項目結構:
    project/
    ├── tests/
    │   ├── conftest.py    # 核心配置文件
    │   ├── test_api.py    # 測試用例1
    │   └── test_db.py     # 測試用例2
    

3. 夾具(fixture)實戰(zhàn)

場景:多個測試用例共享數據庫連接
conftest.py 中添加:

import pytest
import psycopg2

@pytest.fixture(scope="module")
def db_connection():
    """創(chuàng)建數據庫連接(模塊級共享)"""
    conn = psycopg2.connect("dbname=test user=postgres")
    yield conn  # 測試執(zhí)行時返回連接
    conn.close()  # 測試結束后自動關閉

在測試用例中使用(test_db.py):

def test_user_count(db_connection):
    cursor = db_connection.cursor()
    cursor.execute("SELECT COUNT(*) FROM users")
    assert cursor.fetchone()[0] > 0

4. 鉤子函數(hooks)應用

場景:自定義測試報告頭信息
conftest.py 中添加:

def pytest_report_header(config):
    """在報告中顯示自定義環(huán)境信息"""
    return "測試環(huán)境: Production v2.1 | 執(zhí)行人: ${USER}"

運行測試時將顯示:

============================ test session starts ============================
測試環(huán)境: Production v2.1 | 執(zhí)行人: alice

5. 作用域控制

層級說明示例路徑
目錄級影響當前目錄及子目錄/tests/conftest.py
多級嵌套支持不同目錄的獨立配置/tests/api/conftest.py
全局項目根目錄的配置全局生效/conftest.py

優(yōu)先級規(guī)則

  1. 子目錄 > 父目錄
  2. 就近原則

6. 高級技巧:參數化夾具

場景:測試不同瀏覽器的兼容性
conftest.py 中添加:

import pytest

@pytest.fixture(params=["chrome", "firefox", "edge"])
def browser(request):
    """參數化瀏覽器驅動"""
    driver = setup_browser(request.param)
    yield driver
    driver.quit()

測試用例自動運行3次:

def test_login(browser):
    browser.get("https://example.com/login")
    # 斷言登錄頁面標題
    assert "Login" in browser.title

7. 最佳實踐

  1. 避免過度使用:僅在需要共享邏輯時使用
  2. 命名規(guī)范:夾具名稱應具有描述性(如 db_connection
  3. 作用域選擇
    • function(默認):每個測試函數執(zhí)行一次
    • class:每個測試類執(zhí)行一次
    • module:每個模塊執(zhí)行一次
    • session:整個測試會話執(zhí)行一次
  4. 調試技巧:查看夾具生效情況
    pytest --fixtures  # 顯示所有可用夾具
    

8. 完整示例

項目結構:

project/
├── conftest.py                 # 全局配置
├── tests/
│   ├── conftest.py             # 測試目錄配置
│   ├── test_api.py
│   └── web/
│       ├── conftest.py         # 子目錄專屬配置
│       └── test_ui.py

層級配置生效順序:

  1. web/conftest.py
  2. tests/conftest.py
  3. 根目錄 conftest.py

通過合理使用 conftest.py,可將測試代碼復用率提升 60%+,同時保持測試邏輯的清晰隔離。

到此這篇關于pytest conftest.py使用的小結的文章就介紹到這了,更多相關pytest conftest.py使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Python?matplotlib實戰(zhàn)之箱型圖繪制

    Python?matplotlib實戰(zhàn)之箱型圖繪制

    箱型圖(Box?Plot),也稱為盒須圖或盒式圖,是一種用作顯示一組數據分布情況的統(tǒng)計圖,因型狀如箱子而得名,本文主要為大家介紹了如何使用Matplotlib繪制箱型圖,需要的小伙伴可以參考下
    2023-08-08
  • python 解壓、復制、刪除 文件的實例代碼

    python 解壓、復制、刪除 文件的實例代碼

    這篇文章主要介紹了python 解壓、復制、刪除 文件的實例代碼,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Python: 傳遞列表副本方式

    Python: 傳遞列表副本方式

    今天小編就為大家分享一篇Python: 傳遞列表副本方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python協(xié)程庫asyncio(異步io)問題

    python協(xié)程庫asyncio(異步io)問題

    這篇文章主要介紹了python協(xié)程庫asyncio(異步io)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python爬蟲requests模塊之URL地址中的參數解讀

    Python爬蟲requests模塊之URL地址中的參數解讀

    這篇文章主要介紹了Python爬蟲requests模塊之URL地址中的參數解讀,在你拿到數據所在的url地址之后,發(fā)送網絡請求時,請求的url中包含兩種地址參數:查詢參數和請求參數,需要的朋友可以參考下
    2023-08-08
  • Anaconda安裝卸載的詳細流程指南

    Anaconda安裝卸載的詳細流程指南

    本文介紹了Windows、macOS、Linux三大平臺下Anaconda的安裝與卸載指南,內容包括系統(tǒng)要求、版本選擇、各平臺安裝步驟、安裝后驗證與配置、完整卸載流程及常見問題解決方案等,需要的朋友可以參考下
    2026-04-04
  • 詳解python-nmap的安裝與常用方法

    詳解python-nmap的安裝與常用方法

    ??python-nmap??是一個基于??Python??的??nmap??網絡掃描器接口,它允許用戶通過???Python???腳本輕松地調用???nmap???的功能,??nmap??是一款功能強大的網絡掃描和發(fā)現工具,本文給大家介紹python-nmap的安裝與常用方法,需要的朋友可以參考下
    2024-12-12
  • python各類經緯度轉換的實例代碼

    python各類經緯度轉換的實例代碼

    這篇文章主要介紹了python各類經緯度轉換的實例代碼,非常不錯,具有一定的參考借鑒價值,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • python制作羅盤時鐘效果

    python制作羅盤時鐘效果

    這篇文章主要介紹了python制作羅盤時鐘效果,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 蘋果Macbook Pro13 M1芯片安裝Pillow的方法步驟

    蘋果Macbook Pro13 M1芯片安裝Pillow的方法步驟

    Pillow作為python的第三方圖像處理庫,提供了廣泛的文件格式支持,本文主要介紹了蘋果Macbook Pro13 M1芯片安裝Pillow,具有一定的參考價值,感興趣的可以了解一下
    2021-11-11

最新評論

建瓯市| 内丘县| 奉贤区| 扶绥县| 醴陵市| 鄂伦春自治旗| 盐源县| 阿合奇县| 南皮县| 深水埗区| 新田县| 定州市| 浦江县| 无为县| 芦溪县| 开平市| 绥德县| 称多县| 城市| 亳州市| 庄河市| 原阳县| 新河县| 德昌县| 桐乡市| 阿克陶县| 余庆县| 固镇县| 陕西省| 峨眉山市| 扶沟县| 海盐县| 巫溪县| 铜陵市| 武冈市| 桦甸市| 广昌县| 区。| 原平市| 上栗县| 河南省|