婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Pytest中skip和skipif的具體使用方法

Pytest中skip和skipif的具體使用方法

熱門標簽:上海正規的外呼系統最新報價 煙臺電話外呼營銷系統 外賣地址有什么地圖標注 如何地圖標注公司 電銷機器人錄音要學習什么 企業彩鈴地圖標注 長春極信防封電銷卡批發 銀川電話機器人電話 預覽式外呼系統

skip的用法

使用示例:@pytest.mark.skip(reason="跳過的原因,會在執行結果中打印")

標記在測試函數中

舉個🌰

import pytest


def test_1():
    print("測試用例1")


@pytest.mark.skip(reason="沒寫完,不執行此用例")
def test_2():
    print("測試用例2")

執行結果如下:

標記在測試類的測試用例中

舉個🌰

import pytest

class TestCase(object):
    def test_1(self):
        print("測試用例1")


    @pytest.mark.skip(reason="沒寫完,不執行此用例")
    def test_2(self):
        print("測試用例2")

執行結果如下

標記在測試類方法上

舉個🌰

import pytest


@pytest.mark.skip(reason="沒寫完,不執行此用例")
class TestCase1(object):
    def test_1(self):
        print("測試用例1")

    def test_2(self):
        print("測試用例2")


class TestCase2(object):
    def test_3(self):
        print("測試用例3")

    def test_4(self):
        print("測試用例4")

執行結果如下

總結

  • @pytest.mark.skip 可以加在函數上,類上,類方法上
  • 如果加在類上面,則類里面的所有測試用例都不會執行

在測試用例執行期間強制跳過

以一個for循環為例,執行到第3次的時候跳出

import pytest

def test_demo():
    for i in range(50):
        print(f"輸出第【{i}】個數")
        if i == 3:
            pytest.skip("跑不動了,不再執行了")

執行結果如下

在模塊級別跳過測試用例

語法:pytest.skip(msg="",allow_module_level=False)

allow_module_level=True時,可以設置在模塊級別跳過整個模塊

import pytest

pytest.skip("跳過整個模塊", allow_module_level=True)

@pytest.fixture(autouse=True)
def test_1():
    print("執行測試用例1")

def test_2():
    print("執行測試用例2")

執行結果如下

有條件的跳過某些用例

語法:@pytest.mark.skipif(condition, reason="")

import sys
import pytest


@pytest.mark.skipif(sys.platform == 'darwin', reason="does not run on MacOS")
class TestSkipIf(object):
    def test_demo(self):
        print("不能在MacOS上運行")

注意:condition需要返回True才會跳過

執行結果如下:

跳過標記的使用

  • 可以將 pytest.mark.skip 和 pytest.mark.skipif 賦值給一個標記變量
  • 在不同模塊之間共享這個標記變量
  • 若有多個模塊的測試用例需要用到相同的 skip 或 skipif ,可以用一個單獨的文件去管理這些通用標記,然后適用于整個測試用例集

舉個🌰

import sys
import pytest

skipmark = pytest.mark.skip(reason="不執行此用例")
skipifmark = pytest.mark.skipif(sys.platform == 'darwin', reason="does not run on MacOS")


@skipifmark
class TestSkipIf(object):
    def test_demo(self):
        print("不能在MacOS上運行")


@skipmark
def test_1():
    print("測試用例1")


def test_2():
    print("測試用例2")

執行結果如下

當缺少某些導入時跳過用例

語法:

pytest.importorskip( modname: str, minversion: Optional[str] = None, reason: Optional[str] = None )

參數:

  • modname: 需要被導入的模塊名稱,比如 selenium;
  • minversion: 表示需要導入的最小的版本號,如果該版本不達標,將會打印出報錯信息;
  • reason: 只有當模塊沒有被導入時,給定該參數將會顯示出給定的消息內容

找不到對應module

舉個🌰

import pytest
rock = pytest.importorskip("rock")

@rock
def test_1():
    print("測試是否導入了rock模塊")

運行結果

如果版本不達標

舉個🌰

import pytest
sel = pytest.importorskip("selenium", minversion="3.150")

@sel
def test_1():
  	print("測試是否導入了selenium模塊")

運行結果

整理參考

小菠蘿的測試筆記

到此這篇關于Pytest中skip和skipif的具體使用方法的文章就介紹到這了,更多相關skip和skipif的使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python單元測試之pytest的使用
  • python使用pytest接口自動化測試的使用
  • Python測試框架:pytest學習筆記
  • python pytest進階之xunit fixture詳解
  • python中pytest收集用例規則與運行指定用例詳解

標簽:佳木斯 西寧 盤錦 湖北 珠海 潮州 宜昌 上饒

巨人網絡通訊聲明:本文標題《Pytest中skip和skipif的具體使用方法》,本文關鍵詞  Pytest,中,skip,和,skipif,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytest中skip和skipif的具體使用方法》相關的同類信息!
  • 本頁收集關于Pytest中skip和skipif的具體使用方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 防城港市| 江西省| 德江县| 巍山| 泰宁县| 兰考县| 安顺市| 鸡西市| 黄梅县| 沅陵县| 马关县| 江陵县| 仲巴县| 平舆县| 朝阳区| 古浪县| 如东县| 浪卡子县| 泊头市| 简阳市| 正镶白旗| 三原县| 即墨市| 博爱县| 郸城县| 襄城县| 肇东市| 甘孜县| 南安市| 南宁市| 韩城市| 海兴县| 莱芜市| 阿拉尔市| 柳林县| 鹤庆县| 通渭县| 长顺县| 吉林省| 河源市| 咸宁市|