您好,登錄后才能下訂單哦!
本篇內容主要講解“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拋錯怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。