电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Pytest中skip skipif跳過用例詳解

瀏覽:33日期: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
相關文章:
主站蜘蛛池模板: 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 浙江上沪阀门有限公司| 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 查分易-成绩发送平台官网| 免费B2B信息推广发布平台 - 推发网| 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 二手回收公司_销毁处理公司_设备回收公司-找回收信息网 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 |