中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytest中Fixture?errors拋錯怎么解決

發布時間:2022-06-02 10:51:33 來源:億速云 閱讀:148 作者:zzz 欄目:開發技術

本篇內容主要講解“pytest中Fixture errors拋錯怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“pytest中Fixture errors拋錯怎么解決”吧!

首先,在pytest中,如果一個測試函數中傳入了多個fixture函數,那么pytest會盡可能的按線性順序先后執行。
如果,先執行的fixture函數有問題引發了異常,那么pytest將會停止執行這個測試函數的fixture,并且標記此測試函數有錯誤。

但是,當測試被標記為有錯誤時,并不是說這個測試函數的結果失敗了,這僅僅意味著測試函數所依賴的fixture有問題,
導致測試函數不能正常進行。

所以,這就引出了另一個值得關注的點:fixture雖靈活好用,切記不要濫用。

在實際應用中,要盡可能的減少不必要的依賴關系。這樣的話,測試函數就不會因為其他不相關的問題,導致自己不能正常運行。

結合代碼示例,進一步了解:

import pytest
@pytest.fixture
def order():
    return []
@pytest.fixture
def append_first(order):
    order.append(1)
@pytest.fixture
def append_second(order, append_first):
    order.extend([2])
@pytest.fixture(autouse=True)
def append_third(order, append_second):
    order += [3]
def test_order(order):
    assert order == [1, 2, 3]

首先聲明,這段代碼是可以正常運行的,測試函數test_order也是正常通過的。

假設,不管怎樣,在order.append(1)處總會報錯。這時候,我們其實無法確定order.extend([2])或order +=[3]是否也有問題。

在append_first報錯拋出異常后,pytest就不會繼續運行任何的fixture函數了,就連測試函數test_order本身也不會運行。

到此,相信大家對“pytest中Fixture errors拋錯怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平利县| 和林格尔县| 固安县| 清水河县| 石首市| 大丰市| 库尔勒市| 德清县| 家居| 芷江| 吉隆县| 日喀则市| 西和县| 新津县| 恩施市| 济源市| 商城县| 嫩江县| 宜兰县| 田东县| 临城县| 银川市| 池州市| 日照市| 大名县| 东莞市| 建宁县| 筠连县| 南溪县| 封开县| 吉木乃县| 特克斯县| 二连浩特市| 札达县| 驻马店市| 象州县| 浙江省| 永春县| 阜城县| 高雄县| 新野县|