python高阶4(pytest)

pytest框架

模块:pytest

基本使用方法:

1.函数名要以test开头

2.类名需要以Test开头,类中的方法需要以test开头;类中不能有构造方法

3.使用assert进行断言

4.脚本名需要以test开头

作用于函数

python高阶4(pytest)

pytest.main中第一个参数:-s,将print语句的结果输出

第二个参数:__file__表示当前文件

作用于类

python高阶4(pytest)

用例执行

方式1:

脚本:pytest.main([参数1,参数2,…..])

-s,将print语句的结果输出

-v,以详细信息显示每条用例执行结果

-q,以极简形式显示测试结果

-k,通过关键字匹配脚本、函数名、类名、方法名

python高阶4(pytest)

-x,如果测试执行过程中有fail的用例,则测试立即停止

python高阶4(pytest)

–maxfile=n,当失败的用例达到指定的数量n时,停止测试

python高阶4(pytest)

-m,对用例进行标记,执行指定的用例

01.在项目根目录下新建文件pytest.ini,

02.在文件内添加标记

python高阶4(pytest)

03.使用装饰器标记测试用例 @pytest.mark.标记

python高阶4(pytest)

04.执行测试时,使用-m 标记 即可执行指定的用例

python高阶4(pytest)

方式2:

命令行方式:pytest 参数 脚本;py.test 参数 脚本 ;python -m pytest 参数 脚本

python高阶4(pytest)

跳过用例

@pytest.mark.skip(reason=xxxx),无条件跳过指定用例

@pytest.mark.skipif(条件,reason=xxxxx),有条件跳过指定用例

python高阶4(pytest)

参数化

@pytest.mark.parametrize(‘参数1,参数2,….’,值)

参数,与被装饰的函数的形参相同

值,传递给参数的数据,如果需要给多个参数传数据可以将这些数据封包到元组中,通常为一个列表,列表中有几个值,相当于有多少条测试用例。

例1.(一个参数):

python高阶4(pytest)

例2(多个参数):

python高阶4(pytest)

例3.(登录功能,包含两种接收测试数据的方法):

python高阶4(pytest)

前置后置

模块级,作用范围为当前模块,模块中的所有测试用例执行前后分别运行1次前置和后置

setup_module(),前置,用例执行前运行一次

teardown_module(),后置,用例执行后运行一次

python高阶4(pytest)

函数级,作用范围为当前函数中的所有测试函数,类中的每条测试用执行前后分别运行一次前置和后置

setup_module(),前置,所有用例执行前运行一次

teardown_module(),后置,所有用例执行后运行一次

python高阶4(pytest)

类级,作用范围为当前类,类中的每条测试用执行前后分别运行一次前置和后置

setup_module(),前置,所有用例执行前运行一次

teardown_module(),后置,所有用例执行后运行一次

python高阶4(pytest)

方法级,作用范围为当前类中的每一个测试方法,每条测试用执行前后分别运行一次前置和后置

setup_module()或者setup(),前置,每条用例执行前运行一次

teardown_module()或者teardown(),前置,每条用例执行后运行一次

python高阶4(pytest)

python高阶4(pytest)

fixture(固件)

创建:@pytest.fixture([name,scope,params,autouse])

name,指定fixture名称,如果不指定则默认为被装饰的函数名

scope,指定fixture作用范围,module、class、function(默认)、session、package

params,参数

autouse,设置为Ture,实现自动调用fixture

python高阶4(pytest)

全局fixture

1.在项目下创建conftest.py文件,在该文件中实现fixture

python高阶4(pytest)

yield返回一个值

2.调用

python高阶4(pytest)

Original: https://blog.csdn.net/xljniui/article/details/119766822
Author: NJUPT-Xuxu
Title: python高阶4(pytest)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/776528/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • conda命令说明

    参考: 以管理员身份启动Anaconda Prompt:升级conda(升级Anaconda前需要先升级conda):conda update conda升级anaconda:co…

    Python 2023年9月7日
    055
  • python官方扩展库索引是什么意思_pandas中index索引功能是什么

    pandas的索引对象可以用来保存坐标轴标签和其它元数据,是使用过程中必要的参与对象,那pandas中index索引功能是什么呢?pandas中index索引可以轻松的读取数据,更…

    Python 2023年8月19日
    058
  • 软工综合实践课设——员工招聘系统(参考BOSS直聘);Pyhton实现

    应用背景: 随着科学技术的发展,岗位数量越来越多,特别是每逢毕业季找工作的人数也很多,如果人们找工作或者企业招人靠纯手工的话,费时费力,仅仅是筛选简历和费劲,并且员工找工作投简历可…

    Python 2023年10月30日
    046
  • 在链表上实现 Partition 以及荷兰国旗问题

    原文地址: 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分…

    Python 2023年10月14日
    025
  • 2022IYPT/CUPT第十一题 旋风球(橡皮筋上的球)

    题目回顾 哈哈,我们拿了一个不太雅观的国三 本人是最佳反方。。 团队配合不太行的确不太行,好多题没做。关键是学校也没支持。经典的一句概括,别的学校保研大战,我们大学娱乐开怀。别人比…

    Python 2023年8月24日
    081
  • PIL+Numpy+Matplotlib 实现图像处理

    PIL库安装 Image 模块是 PIL 库中重要的模块,它可以帮助我们实现图像的处理 但 PIL 库在 Python 中不内置,需要安装后使用在控制台(cmd)中输入以下内容安装…

    Python 2023年8月24日
    037
  • Python如何安装各种库

    目录 Anaconda中安装第三方库 第一种方法: 第二种方法: 第三种方法: Anaconda中安装第三方库 第一种方法: 双击打开Anaconda Prompt(打开系统菜单找…

    Python 2023年9月20日
    065
  • Pygame Font文本和字体(含示例)

    Pygame Font文本和字体(含示例) 文本是任何一款游戏中不可或缺的重要要素之一,Pygame 通过pygame.font模块来创建一个字体对象,从而实现绘制文本的目的。该模…

    Python 2023年9月19日
    038
  • docker 镜像压缩 docker-squash

    docker build 通过Dockerfile 制作镜像会根据命令形成一层层layer,这样造成文件重复,镜像体积比较大;为了缩小层的数量及其大小,能够像压缩git commi…

    Python 2023年11月6日
    034
  • flask-admin菜鸟学习笔记

    近期在工作中需要维护若干个信息表,在这个过程中需要经常对表格进行操作、交叉操作、各个表格同步,和某平台信息同步。。。在此过程中需要建立一个”隐性”的流程,要…

    Python 2023年8月9日
    039
  • 在指定目录下建立conda虚拟环境后发现没有环境名(激活失败)的解决办法

    1.背景 一般来说,大家在 使用conda建立虚拟环境时都是 默认C盘。具体地,大家可以使用 conda env list 进行查看。如下,可以看到我师兄机上的虚拟环境基本都在C盘…

    Python 2023年9月7日
    071
  • numpy的并行多进程处理

    因为要处理接近32G+数据集,为提高处理效率,没有使用数据库,直接在大内存的机器上用了numpy。 对数据集还要做一些计算,包含逻辑工作流,不能简单向量化。又想进一步提高处理速度,…

    Python 2023年8月26日
    062
  • Flask项目的云服务器选择和部署

    本来是自己搭一些东西,没想到一波三折,云服务器买了好几家,索性写一篇云服务器对比和使用体验。 文章重点是通过Python的Flask框架,来在云服务器部署一个web服务。 Flas…

    Python 2023年8月12日
    051
  • Pandas数据分析教程(2)-数据读取之普通索引、loc/iloc索引

    在上一期中,我们简单介绍了 Series和 DataFrame两种Pandas中常用的数据结构,那么问题来了,假设我已经有了这两种数据,如何从中提取我想要的部分? DataFram…

    Python 2023年8月16日
    056
  • dataframe 设置空值_DataFrame的运算,排序和空值处理

    函数应用 df = pd.DataFrame(np.arange(12).reshape(4,3), columns=list(‘bde’), index=…

    Python 2023年8月7日
    071
  • K8s如何启用cgroup2支持?

    什么是 cgroup 📚️ Reference:control groups(控制组),通常被称为cgroup,是Linux内核的一项功能。它允许将进程组织成分层的组,然后限制和监…

    Python 2023年10月15日
    047
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球