欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解pytest實現(xiàn)mark標(biāo)記功能詳細(xì)介紹

 更新時間:2021年04月16日 11:26:26   作者:miki的測試筆記  
這篇文章主要介紹了詳解pytest實現(xiàn)mark標(biāo)記功能詳細(xì)介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

mark標(biāo)記

​在實際工作中,我們要寫的自動化用例會比較多,也不會都放在一個py文件中,如果有幾十個py文件,上百個方法,而我們只想運(yùn)行當(dāng)中部分的用例時怎么辦?

​pytest提供了一個非常好用的mark功能,可以給測試用例打上各種各樣的標(biāo)簽,運(yùn)行用例時可以指定運(yùn)行某個標(biāo)簽。mark功能作用就是靈活的管理和運(yùn)行測試用例。

​標(biāo)簽既可以打到方法上,也可以打到類上,標(biāo)記的兩種方式:

  • 直接標(biāo)記類或方法或函數(shù):@pytest.mark.標(biāo)簽名
  • 類屬性:pytestmark = [pytest.mark.標(biāo)簽名, pytest.mark.標(biāo)簽名],需要注意的是屬性名稱是固定的
import pytest


@pytest.mark.beta	# 可以給類打標(biāo)簽
class TestLogin:	# 標(biāo)記類

    @pytest.mark.qc
    @pytest.mark.beta	# 也可以多個標(biāo)簽
    def test_login(self):	# 標(biāo)記方法
        pass

@pytest.mark.smoke		# 單個標(biāo)簽
def test_register():	# 標(biāo)記函數(shù)
        pass

class TestClass:
    # 加一個 pytestmark的類屬性
    pytestmark = [pytest.mark.qc, pytest.mark.beta]	# 標(biāo)簽存放在一個列表

pytest.main()

注冊標(biāo)簽名

​我們要想運(yùn)行已經(jīng)打好標(biāo)記的函數(shù),還需要對標(biāo)簽名進(jìn)行注冊,告訴pytest有哪些標(biāo)簽,如果不進(jìn)行注冊運(yùn)行時(pytest的高級版本)可能會報警告讓你進(jìn)行注冊。

​我們只需要在項目根目錄下創(chuàng)建一個pytest.ini文件,注意文件名是不可修改的,否則pytest會找不到。內(nèi)容格式如下:

# pytest.ini
# 只能修改=右邊的值
[pytest]	
python_files = demo_*.py	# 模塊名以demo_開頭
python_functions = demo_*	# 方法名以demo_開頭
python_classes = Demo*	# 類名名以Demo開頭

# 注冊標(biāo)簽
markers =
    qc
    beta
    smoke

運(yùn)行指定的標(biāo)簽

通過命令行執(zhí)行

​單個標(biāo)簽:pytest -m "標(biāo)簽名"(-m意思是執(zhí)行標(biāo)簽mark),不想執(zhí)行某個標(biāo)簽可以用not來取反,即pytest -m "not 標(biāo)簽名"

​多個標(biāo)簽:可以加上判斷,pytest -m "qc and beta" 或者 pytest -m "qc or beta" 效果是一樣的

​注意:標(biāo)簽名一定要加雙引號,單引號是會報錯的。

通過代碼執(zhí)行

​這里普及一下,main()方法是可以接收不定長參數(shù)的,因此可以把要執(zhí)行的命令放在一個列表中

if __name__ == '__main__':
    pytest.main(['-m qc and beta', '-s'])	# 標(biāo)簽名不需要加引號

關(guān)于pytest的指令,可以通過控制臺執(zhí)行pytest --help查看,上面舉例中-s命令是指打印更加詳細(xì)的信息,如果程序運(yùn)行過程當(dāng)中的print()信息打印不出來,可以加上-s可選參數(shù),它是-- capture=no的縮寫。

skip跳過標(biāo)記

​在維護(hù)測試用例的過程中,可能在一個階段某些用例已經(jīng)不需要了,或者在指定條件下是不需要運(yùn)行的,那么我們就可以通過mark.skip跳過這些函數(shù)或者類,兩種跳過方式:

  • 直接跳過: @pytest.mark.skip(reason = “原因”) ,這里原因是可選參數(shù)
  • 條件跳過,即滿足某個條件才跳過:@pytest.mark.skipif(a == 1, reason = “原因”)
db_host = 'localhost'

@pytest.mark.skip("和現(xiàn)在的需求不符合")	# 不滿足當(dāng)下了,或別人編寫的暫時不能刪的
def test_yuz(self):
    pass

@pytest.mark.skipif(db_host == 'localhost', reason='只測試線上環(huán)境,不測試本地環(huán)境')
def test_develop_env(self):
    pass

到此這篇關(guān)于詳解pytest實現(xiàn)mark標(biāo)記功能詳細(xì)介紹的文章就介紹到這了,更多相關(guān)pytest mark標(biāo)記 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文向您詳細(xì)介紹指令 python -m pip install的用法和功能

    一文向您詳細(xì)介紹指令 python -m pip install的用法和功能

    通過本文的介紹,我們詳細(xì)了解了python -m pip install命令的用法和功能,從基本用法到安裝特定版本的包、從其他源安裝包、升級和卸載包,再到使用requirements.txt管理依賴,我們逐步深入了解了pip的強(qiáng)大功能,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • python實現(xiàn)月食效果實例代碼

    python實現(xiàn)月食效果實例代碼

    在本文里小編給大家整理了關(guān)于python實現(xiàn)月食效果的相關(guān)實例內(nèi)容以及對應(yīng)代碼,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • django admin.py 外鍵,反向查詢的實例

    django admin.py 外鍵,反向查詢的實例

    今天小編就為大家分享一篇django admin.py 外鍵,反向查詢的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python技巧分享之groupby基礎(chǔ)用法詳解

    Python技巧分享之groupby基礎(chǔ)用法詳解

    python中g(shù)roupby函數(shù)主要的作用是進(jìn)行數(shù)據(jù)的分組以及分組后地組內(nèi)運(yùn)算!本文將通過一些示例和大家詳細(xì)講講groupby的基礎(chǔ)用法,需要的可以參考一下
    2022-10-10
  • Pytorch搭建YoloV5目標(biāo)檢測平臺實現(xiàn)過程

    Pytorch搭建YoloV5目標(biāo)檢測平臺實現(xiàn)過程

    這篇文章主要為大家介紹了Pytorch搭建YoloV5目標(biāo)檢測平臺實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Python接口自動化測試框架運(yùn)行原理及流程

    Python接口自動化測試框架運(yùn)行原理及流程

    這篇文章主要介紹了Python接口自動化測試框架運(yùn)行原理及流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python實現(xiàn)網(wǎng)絡(luò)通信的HTTP請求Socket編程Web爬蟲方法探索

    Python實現(xiàn)網(wǎng)絡(luò)通信的HTTP請求Socket編程Web爬蟲方法探索

    隨著互聯(lián)網(wǎng)的不斷發(fā)展,Python作為一門多用途的編程語言,提供了強(qiáng)大的工具和庫來進(jìn)行網(wǎng)絡(luò)連接和通信,本文將深入探討Python中連接網(wǎng)絡(luò)的方法,包括HTTP請求、Socket編程、Web爬蟲和REST?API的使用
    2024-01-01
  • 3個用于數(shù)據(jù)科學(xué)的頂級Python庫

    3個用于數(shù)據(jù)科學(xué)的頂級Python庫

    今天小編就為大家分享一篇關(guān)于3個用于數(shù)據(jù)科學(xué)的頂級Python庫,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • python利用跳板機(jī)ssh遠(yuǎn)程連接redis的方法

    python利用跳板機(jī)ssh遠(yuǎn)程連接redis的方法

    今天小編就為大家分享一篇python利用跳板機(jī)ssh遠(yuǎn)程連接redis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python中print輸出有空格如何解決

    python中print輸出有空格如何解決

    這篇文章主要介紹了python中print輸出有空格的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論