pytest官方文檔解讀fixtures的autouse
現(xiàn)在我們已經(jīng)知道了,fixtures是一個(gè)非常強(qiáng)大的功能。
那么有的時(shí)候,我們可能會(huì)寫一個(gè)fixture,而這個(gè)fixture所有的測試函數(shù)都會(huì)用到它。
那這個(gè)時(shí)候,就可以用autouse自動(dòng)讓所有的測試函數(shù)都請求它,不需要在每個(gè)測試函數(shù)里顯示的請求一遍。
具體用法就是,將autouse=True傳遞給fixture的裝飾器即可。
import pytest @pytest.fixture def first_entry(): return "a" @pytest.fixture def order(first_entry): return [] @pytest.fixture(autouse=True) def append_first(order, first_entry): return order.append(first_entry) def test_string_only(order, first_entry): assert order == [first_entry] def test_string_and_int(order, first_entry): order.append(2) assert order == [first_entry, 2]
先來看第一個(gè)測試函數(shù)test_string_only(order, first_entry)的執(zhí)行情況:
- 雖然在測試函數(shù)里請求了2個(gè)fixture函數(shù),但是order拿到的并不是[],first_entry拿到的也并不是"a"。
- 因?yàn)榇嬖诹艘粋€(gè)autouse=True的fixture函數(shù),所以append_first先會(huì)被調(diào)用執(zhí)行。
- 在執(zhí)行append_first過程中,又分別請求了order、 first_entry這2和fixture函數(shù)。
- 接著,append_first對(duì)分別拿到的[]和"a"進(jìn)行append處理,最終返回了["a"]。所以,斷言assert order == [first_entry]是成功的。
同理,第二個(gè)測試函數(shù)test_string_and_int(order, first_entry)的執(zhí)行過程亦是如此。
以上就是pytest官方文檔解讀fixtures的autouse的詳細(xì)內(nèi)容,更多關(guān)于pytest解讀fixtures的autouse的資料請關(guān)注腳本之家其它相關(guān)文章!
- pytest解讀fixtures中yield與addfinalizer區(qū)別
- pytest解讀fixtures之Teardown處理yield和addfinalizer方案
- pytest官方文檔解讀fixtures的調(diào)用方式
- pytest官方文檔解讀fixtures
- pytest解讀一次請求多個(gè)fixtures及多次請求
- pytest官方文檔解讀fixtures調(diào)用fixtures及fixture復(fù)用性
- pytest解讀fixture有效性及跨文件共享fixtures
- pytest?fixtures函數(shù)及測試函數(shù)的參數(shù)化解讀
- pytest fixtures裝飾器的使用和如何控制用例的執(zhí)行順序
- Pytest中Fixtures的高級(jí)用法
相關(guān)文章
如何利用Python實(shí)現(xiàn)自動(dòng)打卡簽到的實(shí)踐
簽到,都是規(guī)律性的操作,何嘗不寫一個(gè)程序加到Windows實(shí)現(xiàn)自動(dòng)簽到呢,本文就主要介紹了如何利用Python實(shí)現(xiàn)自動(dòng)打卡簽到的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12Python跨文件實(shí)現(xiàn)字符串填充的三種實(shí)現(xiàn)方法
本文主要介紹了Python跨文件實(shí)現(xiàn)字符串填充的三種實(shí)現(xiàn)方法,包括format方法、%格式化操作符和eval函數(shù)結(jié)合f-string,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12python實(shí)現(xiàn)水仙花數(shù)實(shí)例講解
這篇文章主要介紹了python實(shí)現(xiàn)水仙花數(shù)實(shí)例講解,有正在學(xué)習(xí)python的同學(xué)可以跟著小編一起來學(xué)習(xí)下水仙花數(shù)怎么用python計(jì)算吧2021-03-03Keras深度學(xué)習(xí)模型Sequential和Model詳解
這篇文章主要介紹了Keras深度學(xué)習(xí)模型Sequential和Model詳解,在Keras中有兩種深度學(xué)習(xí)的模型:序列模型(Sequential)和通用模型(Model),差異在于不同的拓?fù)浣Y(jié)構(gòu),,需要的朋友可以參考下2023-08-08matplotlib源碼解析標(biāo)題實(shí)現(xiàn)(窗口標(biāo)題,標(biāo)題,子圖標(biāo)題不同之間的差異)
這篇文章主要介紹了matplotlib源碼解析標(biāo)題實(shí)現(xiàn)(窗口標(biāo)題,標(biāo)題,子圖標(biāo)題不同之間的差異),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02