pytest conftest.py文件的使用講解
一、conftest.py的特點(diǎn)
1、可以跨.py文件調(diào)用,有多個(gè).py文件調(diào)用時(shí),可讓conftest.py只調(diào)用了一次fixture,或調(diào)用多次fixture
2、conftest.py與運(yùn)行的用例要在同一個(gè)pakage下,并且有__init__.py文件
3、不需要import導(dǎo)入 conftest.py,pytest用例會(huì)自動(dòng)識(shí)別該文件,放到項(xiàng)目的根目錄下就可以全局目錄調(diào)用了,如果放到某個(gè)package下,那就在該package內(nèi)有效,可有多個(gè)conftest.py
4、conftest.py配置腳本名稱是固定的,不能改名稱
5、conftest.py文件不能被其他文件導(dǎo)入
6、所有同目錄測試文件運(yùn)行前都會(huì)執(zhí)行conftest.py文件
二、conftest.py的使用場景
1、每個(gè)接口需共用到的token
2、每個(gè)接口需共用到的測試用例數(shù)據(jù)
3、每個(gè)接口需共用到的配置信息
三、conftest.py的生效范圍
1、比如下面的示例,我的conftest文件在pytest2的目錄下,那么pytest2這個(gè)目錄下的所有的城市用例都可以使用conftest文件
2、比如下面的示例的,我的conftest文件在test_suit_01目錄下,那么test_suit_01目錄下的所有的測試用例都可以使用這個(gè)conftest文件
四、conftest.py的的scope字段
1、如果生效范圍:scope=“session”
# -*- coding:utf-8 -*- import pytest from lib import basefunc @pytest.fixture(scope="session",autouse=True) def setup_function(): print("執(zhí)行conftest文件") basefunc.delfile() yield print("執(zhí)行conftest文件") basefunc.delfile()
那么,在該目錄下的所有的測試用例只會(huì)執(zhí)行一次
在所有的用例開始前會(huì)執(zhí)行yield前面的代碼
在所有的用例結(jié)束后會(huì)執(zhí)行yield后面的代碼
2、如果生效范圍:scope=“module”
# -*- coding:utf-8 -*- import pytest from lib import basefunc @pytest.fixture(scope="module",autouse=True) def setup_function(): print("執(zhí)行conftest文件") basefunc.delfile() yield print("執(zhí)行conftest文件") basefunc.delfile()
那么,在該目錄下的每個(gè)py文件會(huì)執(zhí)行一次
在每個(gè)py文件中的用例開始前會(huì)執(zhí)行yield前面的代碼
在每個(gè)py文件中的用例結(jié)束后會(huì)執(zhí)行yield后面的代碼
3、如果生效范圍:scope=“class”
# 生效的范圍,類級(jí)別,每個(gè)類才會(huì)執(zhí)行一次 @pytest.fixture(scope="class",autouse=True) def setUp(): print("在每個(gè)方法前執(zhí)行") yield print("在每個(gè)方法后執(zhí)行")
那么,在該目錄下的每個(gè)類會(huì)執(zhí)行一次
在每個(gè)類的用例開始前會(huì)執(zhí)行yield前面的代碼
在每個(gè)類的用例結(jié)束后會(huì)執(zhí)行yield后面的代碼
4、如果生效范圍:scope=“function”
@pytest.fixture(scope="function",autouse=True) def setUp(): print("在每個(gè)方法前執(zhí)行") yield print("在每個(gè)方法后執(zhí)行")
那么,在該目錄下的每個(gè)測試函數(shù)會(huì)執(zhí)行一次
在每個(gè)測試用例開始前會(huì)執(zhí)行yield前面的代碼
在每個(gè)測試用例結(jié)束后會(huì)執(zhí)行yield后面的代碼
以上就是pytest的conftest.py文件的使用講解的詳細(xì)內(nèi)容,更多關(guān)于pytest conftest.py文件的使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Tensorflow實(shí)現(xiàn)多GPU并行方式
今天小編就為大家分享一篇Tensorflow實(shí)現(xiàn)多GPU并行方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python高效解析和操作XML/HTML的實(shí)用指南
在?Python?生態(tài)系統(tǒng)中,lxml?是一個(gè)功能強(qiáng)大且廣泛使用的庫,用于高效地解析和操作?XML?和?HTML?文檔,這篇文章從?lxml?的基礎(chǔ)安裝開始,逐步深入講解如何解析文檔、提取數(shù)據(jù)、修改文檔結(jié)構(gòu),并涵蓋了處理大型文檔和使用命名空間等進(jìn)階操作,需要的朋友可以參考下2024-10-10Pytorch中的數(shù)據(jù)轉(zhuǎn)換Transforms與DataLoader方式
這篇文章主要介紹了Pytorch中的數(shù)據(jù)轉(zhuǎn)換Transforms與DataLoader方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02PyTorch變分自編碼器的構(gòu)建與應(yīng)用小結(jié)
變分自編碼器是一種強(qiáng)大的深度學(xué)習(xí)模型,用于學(xué)習(xí)數(shù)據(jù)的潛在表示并能生成新的數(shù)據(jù)點(diǎn),使用PyTorch實(shí)現(xiàn)VAE不僅可以加深對生成模型的理解,還可以利用其靈活性進(jìn)行各種實(shí)驗(yàn),這篇文章主要介紹了PyTorch變分自編碼器的構(gòu)建與應(yīng)用,需要的朋友可以參考下2024-07-07pycharm遠(yuǎn)程開發(fā)項(xiàng)目的實(shí)現(xiàn)步驟
這篇文章主要介紹了pycharm遠(yuǎn)程開發(fā)項(xiàng)目的實(shí)現(xiàn)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01python3通過subprocess模塊調(diào)用腳本并和腳本交互的操作
這篇文章主要介紹了python3通過subprocess模塊調(diào)用腳本并和腳本交互的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12