av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Pytest中skip skipif跳過用例詳解

瀏覽:21日期:2022-06-15 15:33:04
前言 pytest.mark.skip可以標記無法在某些平臺上運行的測試功能, 或者您希望失敗的測試功能希望滿足某些條件才執行某些測試用例,否則pytest會跳過運行該測試用例 實際常見場景:跳過非Windows平臺上的僅Windows測試,或者跳過依賴于當前不可用的外部資源(例如數據庫)的測試@pytest.mark.skip

跳過執行測試用例,有可選參數reason:跳過的原因,會在執行結果中打印

#!/usr/bin/env python# -*- coding: utf-8 -*-'''__title__ = __Time__ = 2020/4/9 13:49__Author__ = 小菠蘿測試筆記__Blog__ = https://www.cnblogs.com/poloyy/'''import pytest@pytest.fixture(autouse=True)def login(): print('====登錄====')def test_case01(): print('我是測試用例11111')@pytest.mark.skip(reason='不執行該用例!!因為沒寫好!!')def test_case02(): print('我是測試用例22222')class Test1: def test_1(self):print('%% 我是類測試用例1111 %%') @pytest.mark.skip(reason='不想執行') def test_2(self):print('%% 我是類測試用例2222 %%')@pytest.mark.skip(reason='類也可以跳過不執行')class TestSkip: def test_1(self):print('%% 不會執行 %%')

執行結果

Pytest中skip skipif跳過用例詳解

知識點

@pytest.mark.skip可以加在函數上,類上,類方法上 如果加在類上面,類里面的所有測試用例都不會執行 以上小案例都是針對:整個測試用例方法跳過執行,如果想在測試用例執行期間跳過不繼續往下執行呢?pytest.skip()函數基礎使用

作用:在測試用例執行期間強制跳過不再執行剩余內容

類似:在Python的循環里面,滿足某些條件則break 跳出循環

def test_function(): n = 1 while True:print(f'這是我第{n}條用例')n += 1if n == 5: pytest.skip('我跑五次了不跑了')

執行結果

Pytest中skip skipif跳過用例詳解

pytest.skip(msg='',allow_module_level=False)

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

#!/usr/bin/env python# -*- coding: utf-8 -*-'''__title__ = __Time__ = 2020/4/9 13:49__Author__ = 小菠蘿測試筆記__Blog__ = https://www.cnblogs.com/poloyy/'''import sysimport pytestif sys.platform.startswith('win'): pytest.skip('skipping windows-only tests', allow_module_level=True)@pytest.fixture(autouse=True)def login(): print('====登錄====')def test_case01(): print('我是測試用例11111')

執行結果

collecting ... Skipped: skipping windows-only testscollected 0 items / 1 skipped============================= 1 skipped in 0.15s ==============================

@pytest.mark.skipif(condition, reason='')

作用:希望有條件地跳過某些測試用例

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

@pytest.mark.skipif(sys.platform == ’win32’, reason='does not run on windows')class TestSkipIf(object): def test_function(self):print('不能在window上運行')

執行結果

collecting ... collected 1 item07skip_sipif.py::TestSkipIf::test_function SKIPPED [100%]Skipped: does not run on windows============================= 1 skipped in 0.04s ==============================

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

# 標記skipmark = pytest.mark.skip(reason='不能在window上運行=====')skipifmark = pytest.mark.skipif(sys.platform == ’win32’, reason='不能在window上運行啦啦啦=====')@skipmarkclass TestSkip_Mark(object): @skipifmark def test_function(self):print('測試標記') def test_def(self):print('測試標記')@skipmarkdef test_skip(): print('測試標記')

執行結果

collecting ... collected 3 items07skip_sipif.py::TestSkip_Mark::test_function SKIPPED [ 33%]Skipped: 不能在window上運行啦啦啦=====07skip_sipif.py::TestSkip_Mark::test_def SKIPPED [ 66%]Skipped: 不能在window上運行=====07skip_sipif.py::test_skip SKIPPED [100%]Skipped: 不能在window上運行================================== 3 skipped in 0.04s ==============================

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

作用:如果缺少某些導入,則跳過模塊中的所有測試

參數列表

modname:模塊名 minversion:版本號 reasone:跳過原因,默認不給也行

pexpect = pytest.importorskip('pexpect', minversion='0.3')@pexpectdef test_import(): print('test')

執行結果一:如果找不到module

Skipped: could not import ’pexpect’: No module named ’pexpect’collected 0 items / 1 skipped

執行結果一:如果版本對應不上

Skipped: module ’sys’ has __version__ None, required is: ’0.3’collected 0 items / 1 skipped

到此這篇關于Pytest中skip skipif跳過用例詳解的文章就介紹到這了,更多相關skip skipif跳過用例內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Pytest
相關文章:
主站蜘蛛池模板: 在线欧美日韩 | 精品国产99 | 日日天天 | 91日日| 欧美在线视频观看 | 在线观看免费av网 | 日本高清不卡视频 | 久久久国产精品网站 | 国产伦一区二区三区久久 | 亚洲精品久久久蜜桃 | 国产精品日韩欧美一区二区三区 | 欧美日韩淫片 | 久久99深爱久久99精品 | 国产精品伦理一区二区三区 | 国产黄色大片在线观看 | 国产激情在线 | 久久精品亚洲精品国产欧美 | 国产亚洲一区精品 | 久久久99国产精品免费 | 成人午夜高清 | 国产精品18久久久 | 成人在线视频网站 | 亚洲精品黄色 | 久久婷婷国产麻豆91 | 亚洲视频免费在线观看 | 亚洲品质自拍视频 | 国产精品亚洲一区二区三区在线 | 国产一级特黄真人毛片 | 精品欧美乱码久久久久久1区2区 | 精品久久久久久久久久久院品网 | 男女性毛片 | 成人久久网 | 久久99国产精品 | 欧美一级毛片在线播放 | 日韩欧美一级片 | 在线观看国产 | 一区二区精品 | 中文字幕在线观看日韩 | 999免费观看视频 | 黄视频免费在线 | 中文字幕欧美一区 |