从0开始python学习-32.pytest.mark()

目录

1. 用户自定义标记

1.1 注册标记​编辑

1.2 给测试用例打标记​编辑

1.3 运行标记的测试用例

1.4 运行多个标记的测试用例

1.5 运行指定标记以外的所有测试用例

2. 内置标签

2.1 skip :无条件跳过(可使用在方法,类,模块上)

2.2 skipif:有条件跳过(可使用在方法,类,模块上)

2.2.1 使用True和False情况进行验证

2.2.2 条件字符串的形式验证​编辑

2.3 xfail :预期失败(用例执行过程中直接标记用例结果为XFAIL,不会执行后面的代码)

2.3.1 xfail-预期内失败,xpass-预期失败,实际成功

2.3.2 raises:异常类型,默认值为None

2.3.3 run:默认值为True

2.3.4 strict:默认值为False

2.4 usefixtures:执行fixture

2.4.1 在方法上使用夹具

2.4.2 在类上使用夹具​编辑

2.5 parametrize:参数执行

2.5.1 argnames和argvalues

2.5.2 indirect:参数值为True,False

2.5.3 ids


1. 用户自定义标记

1.1 注册标记

1.2 给测试用例打标记

1.3 运行标记的测试用例

1.4 运行多个标记的测试用例

1.5 运行指定标记以外的所有测试用例

2. 内置标签

2.1 skip :无条件跳过(可使用在方法,类,模块上)

@pytest.mark.skip(reason=None) 

reason:str类型,默认值为None,可以添加跳过测试用例原因的描述信息

2.2 skipif:有条件跳过(可使用在方法,类,模块上)

@pytest.mark.skipif(condition, *, reason=None)

condition:条件(可以为True,False或者条件字符串)。条件为真则跳过用例;条件为假则执行用例;使用condition参数的时候,必须有参数reason,否则会报错

2.2.1 使用True和False情况进行验证

2.2.2 条件字符串的形式验证

2.3 xfail :预期失败(用例执行过程中直接标记用例结果为XFAIL,不会执行后面的代码)

@pytest.mark.xfail(condition=None, *, reason=None, raises=None, run=True, strict=False)

2.3.1 xfail-预期内失败,xpass-预期失败,实际成功

2.3.2 raises:异常类型,默认值为None

如果测试用例执行失败,出现的异常类型在raises里,则不会抛出异常,测试用例标记为XFAIL;如果测试用例执行失败,出现raises之外的异常,则测试用例标记为FAILED,并抛出异常信息

2.3.3 run:默认值为True

当run=False时候,直接将测试用例标记为XFAIL不执行测试用例

2.3.4 strict:默认值为False

当strict=False时,如果用例执行失败,结果标记为XFAIL,表示符合预期的失败;如果用例执行成功,结果标记为XPASS,表示不符合预期的成功;当strict=True时,如果用例执行成功,结果将标记为FAILED;可以在pytest.ini文件中配置:xfail_strict=true

2.4 usefixtures:执行fixture

pytest.mark.usefixtures(name)

name:夹具名

2.4.1 在方法上使用夹具

2.4.2 在类上使用夹具

2.5 parametrize:参数执行

@pytest.mark.parametrize(argnames, argvalues, indirect=False, ids=None, scope=None, *, _param_mark=None)

2.5.1 argnames和argvalues

argnames:参数名,以逗号分隔的字符串,表示一个或多个参数

argvalues:参数值,参数组成的列表,列表中有几个元素,就会生成几条用例

2.5.2 indirect:参数值为True,False

一般与Pytest的fixture,request.param组合使用

注意需要fixture,request.param组合使用

2.5.3 ids

标记参数化测试用例的执行名称,默认自动生成,多个参数名之间用"-"连接

如果输出的 ids参数用例描述有中文编码问题,在pytest.ini文件中添加:

disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/176842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HashMap之扩容原理

HashMap 数据结构为 数组链表(JDk1.7),JDK1.8中增加了红黑树,其中:链表的节点存储的是一个 Entry 对象,每个Entry 对象存储四个属性(hash,key,value,next&…

uniapp开发ios上线(在win环境下使用三方)

苹果 1、win环境下无法使用苹果os编译器所以使用第三方上传工具,以下示例为 初雪云 (单次收费,一元一次) 初雪云(注册p12证书):https://www.chuxueyun.com/#/pages/AppleCertificate 苹果开发者…

Linux 之 MakeFile

MakeFile 前言MakeFile基本介绍MakeFile介绍MakeFile文件命名Makefile编写规则MakeFile的执行步骤 MakeFilemakefile组成元素makefile显示规则makefile隐晦规则伪目标(标签与文件冲突问题) makefile变量定义makefile中的运算符和特殊变量 makefile文件指示makefile注释 makefil…

基于SSM的药店药品销售系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

23款奔驰E300L升级几何多光束大灯 自适应远近功能

奔驰新款E300L升级几何多光束大灯,单侧的LED头灯分别由84颗独立的LED光源组成,与风挡玻璃上的立体摄像机配合,每秒钟可对路况进行100次扫描,针对不同的路况和驾驶状态,智能调整84个独立光源 几何多光束大灯每侧大灯都拥…

HPC 工作负载管理 —— IBM Spectrum LSF Suite

全面的工作负载管理解决方案,通过增强用户和管理员体验以及实现规模性能来简化 HPC。 IBM Spectrum LSF Suites 是面向分布式高性能计算 (HPC) 的工作负载管理平台和作业调度程序。基于 Terraform 的自动化现已可用,该功能可在 IBM Cloud 上为基于 IBM …

Niushop单商户及多商户v5商城系统第三方商业插件cps联盟视频购物及多包装库存转换的安装

一、后端安装 把video文件夹直接上传到addon目录下即可登录后台,设置->系统维护->插件管理->未安装插件,找到插件直接安装即可 3.在营销->营销中心->营销活动,找到视频列表这个插件,点击进去配置视频即可 4.装…

rocksdb中测试工具Benchmark.sh用法(基准、性能测试)

1.首先要安装db_bench工具,这个工具在成功安装rocksdb之后就自动存在了,主要是在使用make命令之后就成功安装了,详情请见我之前的文章 2.确保成功安装db_bench之后,找到安装的rocksdb目录下面的tools文件夹,查看里面是…

【机器学习基础】一元线性回归(适合初学者的保姆级文章)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ 💡往期推荐: 【机器学习基础】机器学习入门(1) 【机器学习基…

SecureCRT 9.2.4最新

SecureCRT是一款功能强大的终端仿真软件,它通过提供安全的、高效的会话,帮助用户在远程设备上完成各种任务。SecureCRT具有出色的性能和可靠性,能够处理复杂的网络环境,提供高效的远程访问和管理。 SecureCRT的主要特点包括&…

百度智能云文档汇总【2】

百度智能云文档汇总目录2: 一、内容审核-->https://cloud.baidu.com/doc/ANTIPORN/index.html 百度内容审核基于深度学习的智能内容审核方案,准确识别图片和视频中的涉黄、涉暴涉恐、政治敏感、微商广告、恶心等内容,也能从美观和清晰等维…

Git企业开发级讲解(一)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、Git初识1、提出问题2、如何解决--版本控制器3、注意事项 二、Git 安装1、Linux-centos2、…