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

淺談pytest中重試機(jī)制的多種方法

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

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

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

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

安裝

pip install pytest-rerunfailures

使用方式

命令行參數(shù)

pytest --reruns 3  # 對(duì)所有失敗測(cè)試重試3次
pytest --reruns 3 --reruns-delay 2  # 重試3次,每次間隔2秒

標(biāo)記特定測(cè)試

@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. 自定義重試機(jī)制

使用 pytest 鉤子

def pytest_runtest_makereport(item, call):
    if call.excinfo is not None:
        # 獲取重試次數(shù)配置
        reruns = getattr(item, "execution_count", 1)
        if reruns > 1:
            # 實(shí)現(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è)置重試次數(shù)?:通常2-3次足夠,過多會(huì)掩蓋真正問題
  • ?添加延遲?:特別是對(duì)于網(wǎng)絡(luò)請(qǐng)求或資源競(jìng)爭(zhēng)的情況
  • ?記錄重試信息?:使用pytest -v查看哪些測(cè)試被重試了
  • ?避免濫用?:重試機(jī)制不應(yīng)替代穩(wěn)定的測(cè)試代碼
  • ?CI環(huán)境特殊處理?:在CI中可增加重試次數(shù)
# 示例CI配置
pytest --reruns 3 --reruns-delay 1 --junitxml=report.xml

到此這篇關(guān)于淺談pytest中重試機(jī)制的多種方法的文章就介紹到這了,更多相關(guān)pytest 重試機(jī)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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ù)用法的詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • ?Python?代碼制作動(dòng)態(tài)鞭炮

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

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

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

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

    python list是否包含另一個(gè)list所有元素的實(shí)例

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

雅江县| 运城市| 金乡县| 石嘴山市| 恭城| 顺昌县| 武山县| 宜君县| 化隆| 葫芦岛市| 咸宁市| 巴青县| 嘉义市| 阿合奇县| 盐池县| 石楼县| 筠连县| 鹤岗市| 揭东县| 泰宁县| 德阳市| 杭锦后旗| 台东县| 鱼台县| 镇安县| 宣威市| 阿拉善右旗| 晴隆县| 秦安县| 海林市| 西青区| 荃湾区| 海口市| 马鞍山市| 江城| 镇赉县| 景泰县| 马边| 中江县| 南江县| 城步|