从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.mzph.cn/news/139974.shtml

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

相关文章

[vuex] unknown mutation type: SET_SOURCE

项目中使用了vuex,并且以模块的形式分好之后。在调用的时候出现了以上问题 /*当我们commit的时候要注意要加上模块的名字 user是模块名称,SET_SOURCE是user模块中定义的方法 正确写法:*/ this.$store.commit("user/SET_SOURCE", th…

火爆进行中的抖音双11好物节,巨量引擎助5大行业商家开启爆单之路!

抖音双11好物节目前正在火热进行中,进入爆发期,各大商家“好招”频出,都想要实现高速增长。依托“人群、货品、流量”三大优势,巨量引擎一直都是商家生意增长的给力伙伴,在今年的抖音双11好物节,巨量引擎就…

Conda executable is not found 三种问题解决

如果在PyCharm中配置Python解释器时显示“conda executable is not found”错误消息,这意味着PyCharm无法找到您的Conda可执行文件。您可以按照以下步骤解决此问题: 1.方法一 确认Conda已正确安装。请确保您已经正确安装了Anaconda或Miniconda&#xff…

华为ensp:vrrp双机热备负载均衡

现在接口ip都已经配置完了,直接去配置vrrp r1上192.168.1.100 作为主 192.168.2.100作为副 r2上192.168.1.199 作为副 192.168.2.100作为主 这样就实现了负载均衡,如果两个都正常运行时,r1作为1.1的网关,r2作为2.1网关…

Vue3+NodeJS 接入文心一言, 发布一个 VSCode 大模型问答插件

目录 一&#xff1a;首先明确插件开发方式 二&#xff1a;新建一个Vscode 插件项目 1. 官网教程地址 2. 一步一步来创建 3. 分析目录结构以及运行插件 三&#xff1a;新建一个Vue3 项目&#xff0c;在侧边栏中展示&#xff0c;实现vscode插件 <> vue项目 双向消息传…

“第六十六天”

这个我记得是有更优解的&#xff0c;不过还是明天发吧&#xff0c;明天想一想&#xff0c;看看能不能想起来 #include<string.h> int main() {char a[201] { 0 };char b[201] { 0 };scanf("%s %s", a, b);int na strlen(a);int nb strlen(b);int i 0, j …

【408】计算机学科专业基础 - 数据结构

数据结构知识 绪论 数据结构在学什么 如何用程序代码把现实世界的问题信息化 如何用计算机高效地处理这些信息从而创造价值 数据结构的基本概念 什么是数据&#xff1a; 数据是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序…

css:两个行内块元素和图片垂直居中对齐

目录 两个行内块元素垂直居中对齐图片垂直居中问题图片和文字垂直居中对齐参考文章 两个行内块元素垂直居中对齐 先看一段代码&#xff1a; <style> .box {width: 200px;height: 200px;line-height: 200px;font-size: 20px;text-align: center;display: inline-block;b…

计算机毕业设计选题推荐-校园交流平台微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【tgcalls】Instance接口的实例类的创建

tg 里有多个版本,因此设计了版本管理的map,每次可以选择一个版本进行实例创建这样,每个客户端就可以定制开发了。tg使用了c++20创建是要传递一个描述者,里面是上下文信息 G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\Instance.cpp可以看到竟然是…

基于Qt 多线程(继承自QThread篇)

# 简介 我们写的一个应用程序,应用程序跑起来后一般情况下只有一个线程,但是可能也有特殊情况。比如我们前面章节写的例程都跑起来后只有一个线程,就是程序的主线程。线程内的操作都是顺序执行的。恩,顺序执行?试着想一下,我们的程序顺序执行,假设我们的用户界面点击有某…

如何有效的保护Windows登录 安当加密

为了有效保护Windows安全登录&#xff0c;以下是一些建议&#xff1a; 使用强密码&#xff1a;强密码是保护Windows登录安全的重要措施之一。确保密码包含大写字母、小写字母、数字和特殊字符&#xff0c;长度至少为8位&#xff0c;并且不要使用容易猜到的单词或短语。启用多因…

数据结构—内部排序(上)

文章目录 8.内部排序(上)(1).排序基础#1.为什么是内部排序#2.排序的稳定性 (2).冒泡排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (3).选择排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (4).插入排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (5).希…

C语言——打印1000年到2000年之间的闰年

闰年&#xff1a; 1、能被4整除不能被100整除 2、能被400整除 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int year;for(year 1000; year < 2000; year){if((year%4 0) && (year%100!0) || (year%400 0)){printf("%d ",ye…

【论文精读】DMVSNet

今天读的是一篇发表在ICCV 2023上的文章&#xff0c;作者来自华中科技大学。 文章地址&#xff1a;点击前往 项目地址&#xff1a;Github 文章目录 Abstract1 Introduction2 Relative Work3 Motivation3.1 Estimated bias and interpolated bias3.2 One-sided V.S. Saddle-shap…

图书网站信息采集

首先&#xff0c;你需要安装Haskell的HTTP库&#xff0c;比如http-conduit。你可以使用cabal包管理器来安装它。 然后&#xff0c;你需要定义一个函数来处理HTTP请求。这个函数需要接受一个URL和一个代理服务器的地址作为参数。 import Network.HTTP.ConduitgetURL :: String…

【Devchat 插件】创建一个GUI应用程序,使用Python进行加密和解密

VSCode 插件 DevChat——国内开源的 AI 编程&#xff01; 写在最前面DevChat是什么&#xff1f;什么是以提示为中心的软件开发 &#xff08;PCSD&#xff09;&#xff1f;为什么选择DevChat&#xff1f;功能概述情境构建添加到上下文生成提交消息提示扩展 KOL粉丝专属福利介绍D…

QT QStackedWidget

QStackedWidget是一个特殊的布局容器&#xff0c;它可以管理多个页面&#xff0c;并且只能显示其中一个页面。这些页面是QWidget或其派生类的实例&#xff0c;并通过调用addWidget()函数添加到堆栈中。 例如&#xff1a; #include <QWidgets> #include <QStackedWid…

ElasticSearch学习和使用 (使用head软件可视化es数据)

使用步骤 直接使用 Elasticsearch的安装和使用 下载Elasticsearch6.2.2的zip包&#xff0c;并解压到指定目录&#xff0c;下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2运行bin目录下的elasticsearch.bat启动Elasticsearch安…

CCNA课程实验-13-PPPoE

目录 实验条件网络拓朴需求 配置实现基础配置模拟运营商ISP配置ISP的DNS配置出口路由器OR基础配置PC1基础配置 出口路由器OR配置PPPOE拨号创建NAT(PAT端口复用) PC1测试结果 实验条件 网络拓朴 需求 OR使用PPPoE的方式向ISP发送拨号的用户名和密码&#xff0c;用户名&#xf…