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

詳解pytest實現(xiàn)mark標記功能詳細介紹

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

mark標記

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

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

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

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


@pytest.mark.beta	# 可以給類打標簽
class TestLogin:	# 標記類

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

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

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

pytest.main()

注冊標簽名

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

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

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

# 注冊標簽
markers =
    qc
    beta
    smoke

運行指定的標簽

通過命令行執(zhí)行

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

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

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

通過代碼執(zhí)行

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

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

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

skip跳過標記

​在維護測試用例的過程中,可能在一個階段某些用例已經(jīng)不需要了,或者在指定條件下是不需要運行的,那么我們就可以通過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標記功能詳細介紹的文章就介紹到這了,更多相關(guān)pytest mark標記 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中str.format()方法的具體使用

    Python中str.format()方法的具體使用

    本文主要介紹了Python中str.format()方法的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Linux環(huán)境下的Python打包和部署實踐

    Linux環(huán)境下的Python打包和部署實踐

    這篇文章主要介紹了Linux環(huán)境下的Python打包和部署實踐的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 10個Python中python_docx庫的實用案例分享

    10個Python中python_docx庫的實用案例分享

    在日常辦公和文檔處理中,Word文檔是我們最常用的格式之一,Python通過python?-?docx庫能夠?qū)崿F(xiàn)對Word文檔的各種自動化操作,本文為大家準備了10個常用的案例,希望對大家有所幫助
    2025-02-02
  • Python Django模型詳解

    Python Django模型詳解

    這篇文章主要介紹了Django 模型類(models.py)的定義詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-10-10
  • 教你用pytorch訓(xùn)練五子棋ai示例代碼

    教你用pytorch訓(xùn)練五子棋ai示例代碼

    這篇文章主要介紹了五個與五子棋相關(guān)的Python文件,包括游戲邏輯、神經(jīng)網(wǎng)絡(luò)模型、訓(xùn)練代碼以及玩家對戰(zhàn)代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • Python讀取文件比open快十倍的庫fileinput

    Python讀取文件比open快十倍的庫fileinput

    fileinput是Python的內(nèi)置模塊,但不少人對它都是陌生的。今天把fileinput的所有的用法、功能進行詳細的講解,并列舉一些非常實用的案例,對于理解和使用它可以說完全沒有問題
    2021-10-10
  • Python推導(dǎo)式使用詳情

    Python推導(dǎo)式使用詳情

    這篇文章主要介紹了Python推導(dǎo)式使用詳情,推導(dǎo)式是?for?循環(huán)的簡化使用方法,使用推導(dǎo)式,將一個可迭代對象中的數(shù)據(jù)遍歷到某一個容器當(dāng)中,下面文章詳細介紹需要的小伙伴可以參考一下
    2022-05-05
  • Python實現(xiàn)12種降維算法的示例代碼

    Python實現(xiàn)12種降維算法的示例代碼

    數(shù)據(jù)降維算法是機器學(xué)習(xí)算法中的大家族,與分類、回歸、聚類等算法不同,它的目標是將向量投影到低維空間,以達到某種目的如可視化,或是做分類。本文將利用Python實現(xiàn)12種降維算法,需要的可以參考一下
    2022-04-04
  • matplotlib多子圖實現(xiàn)共享坐標軸的示例詳解

    matplotlib多子圖實現(xiàn)共享坐標軸的示例詳解

    這篇文章主要為大家詳細介紹了matplotlib繪制多子圖師如何實現(xiàn)共享坐標軸,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Python批量處理工作簿和工作表的實現(xiàn)示例

    Python批量處理工作簿和工作表的實現(xiàn)示例

    本文主要介紹了使用Python批量處理工作簿和工作表,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論