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

淺談pytest中重試機制的多種方法

 更新時間:2025年06月29日 10:16:47   作者:追逐此刻  
這篇文章主要介紹了淺談pytest中重試機制,包括常用插件pytest-rerunfailures、靈活插件pytest-retry、自定義鉤子及裝飾器,具有一定的參考價值,感興趣的可以了解一下

pytest 提供了多種重試機制來處理測試失敗的情況,以下是主要的實現(xiàn)方式及示例:

1. pytest-rerunfailures 插件(最常用)

這是 pytest 最流行的重試機制實現(xiàn)方式。

安裝

pip install pytest-rerunfailures

使用方式

命令行參數(shù)

pytest --reruns 3  # 對所有失敗測試重試3次
pytest --reruns 3 --reruns-delay 2  # 重試3次,每次間隔2秒

標(biāo)記特定測試

@pytest.mark.flaky(reruns=3)
def test_example():
    assert 1 + 1 == 2

@pytest.mark.flaky(reruns=3, reruns_delay=1)
def test_example_with_delay():
    assert 2 * 2 == 4

混合使用

pytest --reruns 1 --reruns-delay 1 -m flaky

2. pytest-retry 插件(更靈活)

安裝

pip install pytest-retry

使用方式

@pytest.mark.retry(tries=3, delay=1)
def test_retry_specific():
    import random
    assert random.choice([True, False])

3. 自定義重試機制

使用 pytest 鉤子

def pytest_runtest_makereport(item, call):
    if call.excinfo is not None:
        # 獲取重試次數(shù)配置
        reruns = getattr(item, "execution_count", 1)
        if reruns > 1:
            # 實現(xiàn)重試邏輯
            pass

使用裝飾器

def retry(times=3, delay=1):
    def decorator(func):
        def wrapper(*args, ?**kwargs):
            for i in range(times):
                try:
                    return func(*args, ?**kwargs)
                except AssertionError as e:
                    if i == times - 1:
                        raise
                    time.sleep(delay)
        return wrapper
    return decorator

@retry(times=3, delay=0.5)
def test_custom_retry():
    assert False

4. 條件重試

結(jié)合 pytest-rerunfailures 的條件重試:

@pytest.mark.flaky(reruns=3, condition=os.getenv("CI") == "true")
def test_conditional_retry():
    assert some_flaky_operation()

最佳實踐建議

  • ?合理設(shè)置重試次數(shù)?:通常2-3次足夠,過多會掩蓋真正問題
  • ?添加延遲?:特別是對于網(wǎng)絡(luò)請求或資源競爭的情況
  • ?記錄重試信息?:使用pytest -v查看哪些測試被重試了
  • ?避免濫用?:重試機制不應(yīng)替代穩(wěn)定的測試代碼
  • ?CI環(huán)境特殊處理?:在CI中可增加重試次數(shù)
# 示例CI配置
pytest --reruns 3 --reruns-delay 1 --junitxml=report.xml

到此這篇關(guān)于淺談pytest中重試機制的多種方法的文章就介紹到這了,更多相關(guān)pytest 重試機制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 關(guān)于numpy中np.nonzero()函數(shù)用法的詳解

    關(guān)于numpy中np.nonzero()函數(shù)用法的詳解

    下面小編就為大家?guī)硪黄P(guān)于numpy中np.nonzero()函數(shù)用法的詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • ?Python?代碼制作動態(tài)鞭炮

    ?Python?代碼制作動態(tài)鞭炮

    這篇文章主要介紹了?Python?代碼制作動態(tài)鞭炮,將一個錄制好的鞭炮視頻以字符畫的形式復(fù)現(xiàn),基本步驟是幀采樣?→?逐幀轉(zhuǎn)換為字符畫?→?字符畫合成視頻,下面來看看具體的實現(xiàn)步驟吧,需要的小伙伴可以參考一下
    2022-01-01
  • Python 內(nèi)置函數(shù)memoryview(obj)的具體用法

    Python 內(nèi)置函數(shù)memoryview(obj)的具體用法

    本篇文章主要介紹了Python 內(nèi)置函數(shù)memoryview(obj)的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • python list是否包含另一個list所有元素的實例

    python list是否包含另一個list所有元素的實例

    今天小編就為大家分享一篇python list是否包含另一個list所有元素的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python模擬事件觸發(fā)機制詳解

    python模擬事件觸發(fā)機制詳解

    這篇文章主要為大家詳細(xì)介紹了python模擬事件觸發(fā)機制的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python中的time和datetime模塊使用方法詳解

    Python中的time和datetime模塊使用方法詳解

    Python 中的 time 和 datetime 模塊是處理時間和日期的重要工具,它們可以執(zhí)行各種操作,如獲取當(dāng)前時間、格式化日期、計算時間差等,本文將分享這兩個模塊的使用方法,包括安裝、基本功能、日期時間對象、時間戳、時間間隔、日期時間格式化和示例代碼
    2023-11-11
  • 深入淺析Python 中 is 語法帶來的誤解

    深入淺析Python 中 is 語法帶來的誤解

    這篇文章主要介紹了Python 中 is 語法帶來的誤解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 如何解決MNIST數(shù)據(jù)集下載速度較慢并失敗的問題

    如何解決MNIST數(shù)據(jù)集下載速度較慢并失敗的問題

    這篇文章主要介紹了如何解決MNIST數(shù)據(jù)集下載速度較慢并失敗的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python selenium登錄豆瓣網(wǎng)過程解析

    python selenium登錄豆瓣網(wǎng)過程解析

    這篇文章主要介紹了python selenium登錄豆瓣網(wǎng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • python編寫朋克風(fēng)格的天氣查詢程序

    python編寫朋克風(fēng)格的天氣查詢程序

    這篇文章主要為大家詳細(xì)介紹了一個基于 Python 的桌面應(yīng)用程序,使用了tkinter庫來創(chuàng)建圖形用戶界面并通過requests庫調(diào)用Open - Meteo API獲取天氣數(shù)據(jù),感興趣的小伙伴可以了解下
    2025-06-06

最新評論

竹山县| 恩平市| 汉源县| 张家口市| 宣化县| 根河市| 扬州市| 静安区| 吉安市| 北京市| 阿尔山市| 辉南县| 清徐县| 贵南县| 施甸县| 会泽县| 广水市| 武城县| 大城县| 肥乡县| 龙陵县| 鹿邑县| 天台县| 长春市| 玉门市| 江油市| 兰溪市| 互助| 宕昌县| 龙海市| 柏乡县| 曲靖市| 大宁县| 平远县| 大厂| 江永县| 屯留县| 电白县| 隆德县| 栾川县| 沙雅县|