如上官网所说,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代码出现了预期中的异常则断言成功,否则断言失败

执行结果

b为0 时,py会抛出ZeroDivisionError,b为1 时,情况正常,不会抛出异常。所以

预期会抛出ZeroDivisionError,断言成功

预期会抛出ValueError,实际是抛出ZeroDivisionError或者不抛出异常,断言失败

注意

1 这里没有用我们常见的assert的方式

2 注意with语句后的代码是否执行的问题

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



执行结果

注意

1 assert的缩进位置

2 异常与预期不一致、未发生异常也会导致断言失败

3 异常有3个属性 traceback type value

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

不用with语句方式断言异常

断言未抛出指定异常

执行结果

3断言警告信息pytest_warning()

用法与异常断言一样

warning 的类型参照python的warning部分 https://docs.python.org/3/library/warnings.html

pytest常用断言的更多相关文章

  1. pytest(5)-断言

    前言 断言是完整的测试用例中不可或缺的因素,用例只有加入断言,将实际结果与预期结果进行比对,才能判断它的通过与否. unittest 框架提供了其特有的断言方式,如:assertEqual.asser ...

  2. python自动化测试常用断言的使用方法

    自动化测试中寻找元素并进行操作,如果在元素好找的情况下,大家就可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 下面介绍几个常用断言的使用方法,可以一定程度上帮助大 ...

  3. Selenium3 + Python3自动化测试系列五——常用断言Assertion

    断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:a ...

  4. pytest 常用命令行选项(二)

    本文接上篇继续简介pytest常用的命令行选项. 8.-v(--verbose) 选项 使用-v/--verbose选项,输出的信息会更详细.最明显的区别就是每个文件中的每个测试用例都占一行,测试的名 ...

  5. Robotframework 之常用断言关键字简介

    任何自动化测试框架或实例中断言是必不可少的,Robotframework同样如此,那下面就介绍下其常用断言关键字. 1.Should Be Empty   判断是否为空,如果不为空,执行失败,示例: ...

  6. 自动化测试常用断言的使用方法(python)

    自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这里介绍几个常用断言的使用方法,可以一定程度上帮 ...

  7. 5. pytest的断言

    一.pytest 支持Python自带的标准断言 def f(): return 3 def test_function(): assert f() == 4 pytest 的断言报告,也很丰富,和详 ...

  8. [转]python_常用断言assert

    原文地址:http://www.jianshu.com/p/eea0b0e432da python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行 ...

  9. 自动化测试常用断言的使用方法(python+selenium)

    自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...

  10. python_常用断言assert

    python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 常用 这里介绍几个常用断言的使用方法 ...

随机推荐

  1. Sql Server代理作业、定时任务

    需求: 本次需求为每15分钟获取一次思路为,创建结果表,代理作业定时更新数据并存入结果表,后端只需要调用结果表数据数据,如果超期不同的天数则给出不同的提示信息,因为没有触发点,所以用到了本文内容. 右 ...

  2. Abp学习(一) abp+vue +mysql框架搭建

    一.到Abp官网下载框架 地址:https://aspnetboilerplate.com/Templates 二.打开项目 修改数据库连接为MySql,默认是SQL Server 2.1.修改链接字 ...

  3. 【javascript】关于charCodeAt()方法

    在做算法题目leetcode 2283时,看见某些答案会使用charCodeAt(),因为自己没用过,所以作此纪录 描述在 JavaScript 中,charCodeAt() 是一种字符串方法,用于检 ...

  4. Cross Site Scripting DOM (XSS) 攻击jQuery append() 的处理方法

    做安全红线使用Fortify工具进行扫描时,jquery append会报Cross Site Scripting DOM风险.解决该问题有两种办法. 一.原生dom方式 使用JavaScript原生 ...

  5. 1--我们写了一个java类,那么生成一个对象占用多大的内存?

    public class Student { private long id; private long userId; private byte state; private long create ...

  6. python requests 上传文件_python3使用requests上传文件,content-type踩的坑

    通常提交普通表单时,requests的post方法可以指定headers,所以我在使用requests模拟上传文件行为时,直接按照下面的方式写了: 然后服务器就报出了找不到分隔符Invalid mul ...

  7. clion环境配置

    如果是学生:直接使用学校的邮箱,可以直接注册使用 环境配置:下载:https://sourceforge.net/projects/mingw-w64/

  8. .NET周报 【3月第2期 2023-03-12】

    国内文章 ASP.NET Core中如何限制响应发送速率(不是调用频率) https://www.cnblogs.com/coredx/p/17195492.html ASP.NET Core中有很多 ...

  9. Axios的js文件的下载教程+相关应用

    下载教程来啦! 1.进入GitHub网站,网址在这里:http://github.com 2.去搜索框搜索Axios,得到如下界面: 3.然后选择这里: 会出现如下界面: 4.点击右方的绿色按钮&qu ...

  10. Z 函数

    简单记一下,避免忘记. z 函数 对于字符串 \(S\),我们将 \(z(i)\) 定义为从 \(i\) 开始的后缀与 \(S\) 的最长公共前缀的长度. \(O(n)\) 求出 z 函数 我们添加一 ...