pytest的fixture學(xué)習(xí)一

主要從官網(wǎng)上面學(xué)習(xí)。

pytest fixtures: 顯示化、模塊化、可擴展

軟件測試fixtures初始化測試函數(shù)。fixtures提供了固定基線,以便測試可靠執(zhí)行并產(chǎn)生一致的、可重復(fù)的結(jié)果。初始化可啟動服務(wù)、狀態(tài)或其他可操作環(huán)境。測試函數(shù)通過參數(shù)來訪問,對于每個測試函數(shù)使用的fixture,通常在測試函數(shù)的定義中都有一個參數(shù)(以fixture命名)。

pytest fixtures在傳統(tǒng)的setup/teardown函數(shù)的xUnit樣式上有重大改進:

··fixtures有明確的名字,并且通過從測試函數(shù)、模塊、類或整個項目中聲明其使用方法來激活。

··fixtures以模塊化的方式來實現(xiàn),每個fixture名稱會觸發(fā)一個fixture function,該fixture function本身也可以使用其他fixtures。

··fixture管理范圍從簡單的unit到復(fù)雜的功能性測試,可以根據(jù)配置和組件選項來對fixtures和tests進行參數(shù)化,或者在函數(shù)、類、模塊或整個測試會話范圍內(nèi)重復(fù)使用fixture。

此外,pytest繼續(xù)支持傳統(tǒng)xuint樣式設(shè)置。你可以混合兩種,并根據(jù)需要從傳統(tǒng)樣式逐步過渡到新的樣式,也可以從現(xiàn)有的unittest.TestCase或nose based項目開始。

Fixtures使用@pytest.fixture裝飾器來定義,如下描述。pytest有內(nèi)置fixtures,如下列出:這塊還沒有搞懂怎么操作

capfd

捕獲,作為文本輸出到文件描述符1和2

capfdbinary

捕獲,作為字節(jié)輸出到文件描述符1和2

caplog

控制日志記錄和訪問日志條目。

capsys

捕獲,作為文本的輸出到sys.stdout和sys.stderr。

capsysbinary

捕獲,作為字節(jié)的輸出到sys.stdout和sys.stderr。

cache

在pytest運行期間存儲和檢索值。

doctest_namespace

提供一個插入docstests命名空間的字典。

monkeypatch

臨時修改類,函數(shù),字典,os.environ和其他對象。

pytestconfig

訪問配置值,插件管理和插件掛鉤。

record_property

向測試中添加其他屬性。

record_testsuite_property

向測試套件中添加其他屬性。

recwarn

記錄測試函數(shù)發(fā)出的警告。

request

提供有關(guān)正在執(zhí)行的測試函數(shù)的信息。

testdir

提供一個臨時測試目錄,以幫助運行和測試pytest插件。

tmp_path

提供pathlib.Path對象給每個測試函數(shù)唯一的臨時目錄。

tmp_path_factory

創(chuàng)建會話范圍的臨時目錄并返回pathlib.Path對象。

tmpdir

為每個測試函數(shù)唯一的臨時目錄提供py.path.local對象; 由tmp_path代替。

tmpdir_factory

創(chuàng)建會話范圍的臨時目錄并返回py.path.local對象; 由tmp_path_factory代替。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容