中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pytest中skip和skipif的使用方法是什么

發布時間:2021-07-01 08:55:18 來源:億速云 閱讀:153 作者:chen 欄目:開發技術

本篇內容主要講解“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")

執行結果如下:

Pytest中skip和skipif的使用方法是什么

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

舉個?

import pytest

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


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

執行結果如下

Pytest中skip和skipif的使用方法是什么

標記在測試類方法上

舉個?

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中skip和skipif的使用方法是什么

總結

  • @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和skipif的使用方法是什么

在模塊級別跳過測試用例

語法: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中skip和skipif的使用方法是什么

有條件的跳過某些用例

語法:@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中skip和skipif的使用方法是什么

跳過標記的使用

  • 可以將 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中skip和skipif的使用方法是什么

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

語法:

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模塊")

運行結果

Pytest中skip和skipif的使用方法是什么

如果版本不達標

舉個?

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

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

運行結果

Pytest中skip和skipif的使用方法是什么

到此,相信大家對“Pytest中skip和skipif的使用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那坡县| 佛教| 乡宁县| 武强县| 鸡东县| 卓资县| 栖霞市| 永胜县| 兴业县| 高淳县| 成安县| 二连浩特市| 马山县| 东宁县| 墨江| 长寿区| 阿拉善左旗| 乐都县| 交口县| 清丰县| 阿拉善盟| 安陆市| 珲春市| 尼勒克县| 常熟市| 霞浦县| 崇州市| 绵竹市| 台中县| 怀仁县| 宁强县| 象山县| 大同市| 措勤县| 凌云县| 河南省| 阳泉市| 陆丰市| 土默特右旗| 察哈| 翁牛特旗|