首页 > 其他分享 >pytest常用断言

pytest常用断言

时间:2023-05-02 21:22:57浏览次数:36  
标签:常用 断言 python 抛出 assert pytest 异常

image

如上官网所说,pytest使用python中的assert来比较实际值与预期值,实现断言功能

1 常用的断言方式 assert xxx

assert a == b
assert a!=b
assert a > b
assert a <b
assert a in b
assert a not in b
assert instance(a,int)
assert a >b and a >c 同时断言多个条件
assert a > b or a> c

2 断言异常 pytest.raise(xxx)

如果test代码出现了预期中的异常则断言成功,否则断言失败
image

执行结果
image

b为0 时,py会抛出ZeroDivisionError,b为1 时,情况正常,不会抛出异常。所以
预期会抛出ZeroDivisionError,断言成功
预期会抛出ValueError,实际是抛出ZeroDivisionError或者不抛出异常,断言失败

注意
1 这里没有用我们常见的assert的方式
2 注意with语句后的代码是否执行的问题
image

断言异常并断言异常信息中的文本与预期是否一致

image
执行结果
image

注意
1 assert的缩进位置
2 异常与预期不一致、未发生异常也会导致断言失败
3 异常有3个属性 traceback type value

也可以用正则匹配的方式来判断异常中的文本信息

image

不用with语句方式断言异常

image

断言未抛出指定异常

image

执行结果
image

3断言警告信息pytest_warning()

用法与异常断言一样
warning 的类型参照python的warning部分 https://docs.python.org/3/library/warnings.html
image

标签:常用,断言,python,抛出,assert,pytest,异常
From: https://www.cnblogs.com/MyRecords/p/17368282.html

相关文章

  • 服务器如何测试网速?服务器测试带宽常用方法分享
    相信大家都知道服务器的性能决定了服务器的稳定和速度,比如运算速度,传输速度这个直接影响着每毫秒可以处理多少数据,这个就类似U盘读写速度目前都是光纤,光纤的质量差别并不会很大,如果访问速度不好的话,会让网站加载非常慢,在选择服务商时,首先一定要选择有保障的,方便日常维护其次就是就......
  • 入门3-Pytest测试用例运行方式(1)Main方法运行
    通过主函数main方式执行If__name__== ‘__main__’:  Pytest.main({“--vs”})一般run.py里用main()方法,里边可以加参数 ......
  • 值得收藏:K8S的kubectl常用命令已经按场景分好类,请您查阅。
    kubectl知多少kubectl是K8S中的一个命令行工具,主要用于管理和操作K8S集群。kubectl通过向K8SAPI发送REST请求,允许用户与K8S集群中的各种资源进行交互,例如Pod、Service、Deployment等。kubectl提供了一种简单而灵活的方式来管理和操作K8S集群,它支持交互式和批处......
  • springboot常用注解
    ......
  • pytest的几种执行方式
    1pytestxxxx2python-mpytestxxxxpython-mpytest--html=./report/rep2.htmltest_env_pytest_ini.py这个与pytest几乎是相同的,官网是这样说的3pythonpytestxxx这与python-mxxx很像,对于pytest执行结果来说没有区别,python-mxx如上截图所说,它会将当前工作目录......
  • C++文件读写常用操作整理
    C++对于文件的操作需要包含<fstream>头文件文件类型分为两种:文本文件-文件以文件的ASCII码的形式存储在计算机中二进制文件-文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作ifstream:读操作fstream:读写操作一、文......
  • MongoDB【常用命令】
    目录 1:基本常用命令1.1:演示案例1.2:数据库操作1.2.1:选择和创建数据库,查看当前正在使用的数据库命令1.2.2:数据库的删除1.3:集合操作1.3.1:集合的显式创建(了解)1.3.2:集合的隐式创建1.3.3:集合的删除1.4:文档基本CRUD1.4.1:文档的插入1.4.2:文档的基本查询1.4.3:文档的更新1.4.4:删除文档1.5:文......
  • linux 常用命令
    ssh登录:[email protected]上传文件:scp-P11022/d/tmp/[email protected]:/home/program如是windowsscp-P11022 d:/tmp/[email protected]:/home/program下载文件:scp-P11022 [email protected]:/home/program /d/tmp/sim.data如是win......
  • Docker CLI docker compose port常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • linux的基础结构和常用的命令基本 Linux 命令的列表:
    linux的基础结构和常用的命令基本Linux命令的列表: Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础......