溫馨提示×

溫馨提示×

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

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

Pytest使用skip跳過執(zhí)行測試的案例有哪些

發(fā)布時間:2020-08-14 13:37:01 來源:億速云 閱讀:192 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Pytest使用skip跳過執(zhí)行測試的案例有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

1、@pytest.mark.skip(reason=" ") -- 跳過執(zhí)行測試函數(shù)

可傳入一個非必須參數(shù)reason表示原因

import pytest
@pytest.mark.skip(reason="no reason")
def test_01():
  print("---用例a執(zhí)行---")
class TestCase():
  @pytest.mark.skip(reason="no reason")
  def test_02(self):
    print("---用例b執(zhí)行---")

  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py ss---用例c執(zhí)行---

2、@pytest.mark.skipif(condition...) -- 若滿足condition,則跳過測試函數(shù)

傳入condition參數(shù)為判斷條件,可以選擇傳入非必須參數(shù)reason;如果多個標簽一起使用,滿足其中一個跳過條件則會跳過該測試函數(shù)。

import pytest
def test_01():
  print("---用例a執(zhí)行---")
class TestCase():
  #當多個@pytest.mark.skipif()標簽時,若滿足一個,則跳過測試函數(shù)
  @pytest.mark.skipif(condition='a' >= 'b', reason="no reason")
  @pytest.mark.skipif(condition='a' <= 'b', reason="no reason")
  def test_02(self):
    print("---用例b執(zhí)行---")

  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py ---用例a執(zhí)行---
.s---用例c執(zhí)行---

3、自定義@pytest.mark.skip()標簽

myskip = pytest.mark.skip() 或 myskip = pytest.mark.skipif(condition=...)

裝飾時用該變量代替標簽即可:@myskip

import pytest
# myskip = pytest.mark.skip()
myskip = pytest.mark.skipif(condition=2>1, reason="no reason")

@myskip
def test_01():
  print("---用例a執(zhí)行---")

class TestCase():

  @myskip
  def test_02(self):
    print("---用例b執(zhí)行---")

  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py ss---用例c執(zhí)行---

4、通過pytest.skip()方法跳過測試函數(shù)

import pytest

def test_01():
  pytest.skip(msg="no reason")
  print("---用例a執(zhí)行---")

class TestCase():

  def test_02(self):
    pytest.skip()
    print("---用例b執(zhí)行---")

  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py ss---用例c執(zhí)行--

5、跳過測試類

跳過測試類其實和跳過測試方法一樣,使用@pytest.mark.skip()和@pytest.mark.skipif()兩個標簽,用他們裝飾測試類就好啦。

import pytest
myskip = pytest.mark.skip(reason="no reason")
def test_01():
  print("---用例a執(zhí)行---")
@myskip
class TestCase():
  def test_02(self):
    print("---用例b執(zhí)行---")
  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py ---用例a執(zhí)行---

6、跳過模塊

使用pytestmark(不可更改變量名)變量,讓他等于標簽即可。

import pytest

pytestmark = pytest.mark.skip(condition=2>1, reason='no reason')

def test_01():
  print("---用例a執(zhí)行---")

class TestCase():

  def test_02(self):
    print("---用例b執(zhí)行---")

  def test_03(self):
    print("---用例c執(zhí)行---")

輸出結(jié)果:

test_fixture2.py sss

7、pycharm中運行多個測試文件

依次將要運行的文件名寫在后面即可,用逗號隔開,無需鏈表元組等形式。

if __name__ == "__main__":
  pytest.main(['-s', 'test_fixture1.py', 'test_fixture2.py'])

感謝各位的閱讀!關(guān)于Pytest使用skip跳過執(zhí)行測試的案例有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

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

AI