Pytest自定義用例執(zhí)行順序(推薦)
Unittest用例執(zhí)行順序
unittest框架和pytest框架編寫的測試用例執(zhí)行順序,默認(rèn)根據(jù)ACSII碼的順序加載測試用例,數(shù)字與字母的順序?yàn)椋?9,AZ,a~z。
1.對于類來說,class TestAxx 會優(yōu)先于class TestBxx被執(zhí)行。
2.對于方法來說,test_aaa()方法會有優(yōu)先于test_bbb()被執(zhí)行。
對于測試目錄與測試文件來說,unittest同樣是按照這個規(guī)則來加載測試用例的。
背景:
我們寫接口測試用例的時候,可以按上下接口順序給它命名test_01…test_02…test_03…等等。
這樣寫的弊端是用例執(zhí)行順序是: test_01<test_02<test_03<test_04<test_05…
如果我想test_04在test_03前面呢? 有人會說,直接將test_04的代碼,寫到test_03里面去,相當(dāng)于交換上下的位置,這樣是可以。
如果是剛開始寫是可以,可是后期變動維護(hù)起來顯然是不方便。
這樣就有人寫了個插件來解決了這個問題,插件:pytest-ordering
。
下載地址:github 上有個 pytest-ordering 插件可以控制用例的執(zhí)行順序,github插件地址https://github.com/ftobia/pytest-ordering。
安裝:
pip install pytest-ordering
默認(rèn)執(zhí)行順序:
import pytest def test_01(): print("打開瀏覽器") def test_02(): print("輸入url") def test_03(): print("輸入賬號") def test_04(): print("輸入密碼") def test_05(): print("勾選記住用戶") def test_06(): print("單擊登錄")
運(yùn)行結(jié)果:
在測試用例目錄下輸入
pytest -vs test.py
使用插件執(zhí)行順序:
使用 pytest-ordering 插件后改變測試用例順序
import pytest @pytest.mark.run(order=1) def test_01(): print("打開瀏覽器") @pytest.mark.run(order=2) def test_02(): print("輸入url") @pytest.mark.run(order=4) def test_03(): print("輸入賬號") @pytest.mark.run(order=3) def test_04(): print("輸入密碼") @pytest.mark.last def test_05(): print("勾選記住用戶") def test_06(): print("單擊登錄")
運(yùn)行結(jié)果:
還是輸入命令:
pytest -vs test.py
出現(xiàn)這個警告不要慌,在項(xiàng)目目錄下新建pytest.ini文件,在文件輸入以下內(nèi)容:
這樣就實(shí)現(xiàn)了自定義測試用例的執(zhí)行順序。
到此這篇關(guān)于Pytest自定義用例執(zhí)行順序的文章就介紹到這了,更多相關(guān)Pytest自定義用例順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
根據(jù)DataFrame某一列的值來選擇具體的某一行方法
今天小編就為大家分享一篇根據(jù)DataFrame某一列的值來選擇具體的某一行方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07用python實(shí)現(xiàn)五子棋實(shí)例
這篇文章主要為大家詳細(xì)介紹了用python實(shí)現(xiàn)五子棋實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05Python面經(jīng)之16個高頻面試問題總結(jié)
這篇文章主要給大家介紹了關(guān)于Python面經(jīng)之16個高頻面試問題的相關(guān)資料,幫助大家回顧基礎(chǔ)知識,了解面試套路,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-03-03python實(shí)現(xiàn)對數(shù)組按指定列排序
這篇文章主要介紹了python實(shí)現(xiàn)對數(shù)組按指定列排序方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Python Opencv中基礎(chǔ)的知識點(diǎn)
這篇文章主要介紹了Python Opencv中基礎(chǔ)的知識點(diǎn),主要包括創(chuàng)建窗口、保存圖片、采集視頻、鼠標(biāo)控制的代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07typing.Dict和Dict的區(qū)別及它們在Python中的用途小結(jié)
當(dāng)在 Python 函數(shù)中聲明一個 dictionary 作為參數(shù)時,我們一般會把 key 和 value 的數(shù)據(jù)類型聲明為全局變量,而不是局部變量。,這篇文章主要介紹了typing.Dict和Dict的區(qū)別及它們在Python中的用途小結(jié),需要的朋友可以參考下2023-06-06