色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

Pytest中skip skipif跳過用例詳解

瀏覽:10日期: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 [email protected](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
相關文章:
主站蜘蛛池模板: 国产在线成人精品 | 作爱视频在线免费观看 | 国产精品成人久久久久 | 日本三本道 | 精品综合久久久久久蜜月 | 国产成在线观看免费视频 | 日本成a人片在线观看网址 日本成年人视频网站 | 午夜影院免费入口 | 韩国黄色一级毛片 | 国产成人小视频 | 真人毛片视频 | 久草亚洲视频 | www国产91| 农村寡妇一级毛片免费播放 | 欧美视频在线观看网站 | 国产三级做爰在线观看视频 | 国产成人黄网在线免 | 欧美日韩一区二区三 | 国产精品亚洲专一区二区三区 | 欧美精品一区二区三区免费观看 | 久久午夜影院 | 成年人视频在线免费 | 日本理论片免费高清影视在线观看 | 中文字幕视频网站 | 欧美日韩综合网在线观看 | 手机在线观看一级午夜片 | 国产一区二区三区免费看 | 韩国精品一区二区三区四区五区 | 在线观看一级毛片 | 国产三级在线视频播放线 | 国产色a在线观看 | 精品在线播放视频 | 在线观看欧洲成人免费视频 | 91国内精品久久久久怡红院 | 怡红院免费播放全部视频 | 五月久久亚洲七七综合中文网 | 国产亚洲精品激情一区二区三区 | 久草热久草视频 | 国产愉拍精品手机 | 一级在线 | 欧洲 | 成年人在线看片 |