python断言assert_python_常用断言assert
发布日期:2021-10-31 18:34:34 浏览次数:31 分类:技术文章

本文共 2322 字,大约阅读时间需要 7 分钟。

eea0b0e432da

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

常用

这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断。-

assertEqual

assertNotEqual

assertTrue

assertFalse

assertIsNone

assertIsNotNone

assertEqual 和 assertNotEqual

assertEqual:如两个值相等,则pass

assertNotEqual:如两个值不相等,则pass

使用方法:

assertEqual(first,second,msg)其中first与second进行比较,如果相等则通过;msg为失败时打印的信息,选填;断言assertNotEqual反着用就可以了。

assertTrue和assertFalse

assertTrue:判断bool值为True,则pass

assertFalse:判断bool值为False,则Pass

使用方法:

assertTrue(expr,msg)其中express输入相应表达式,如果表达式为真,则pass;msg选填;断言assertFalse如果表达式为假,则pass

assertIsNone和assertIsNotNone

assertIsNone:不存在,则pass

assertIsNotNone:存在,则pass

使用方法:

assertIsNone(obj,msg)检查某个元素是否存在

总结:

常用

assertEqual(a, b) a == b

assertNotEqual(a, b) a != b

assertTrue(x) bool(x) is True

assertFalse(x) bool(x) is False

assertIs(a, b) a is b 2.7

assertIsNot(a, b) a is not b 2.7

assertIsNone(x) x is None 2.7

assertIsNotNone(x) x is not None 2.7

assertIn(a, b) a in b 2.7

assertNotIn(a, b) a not in b 2.7

assertIsInstance(a, b) isinstance(a, b) 2.7

assertNotIsInstance(a, b) not isinstance(a, b) 2.7

其它

assertAlmostEqual(a, b) round(a-b, 7) == 0

assertNotAlmostEqual(a, b) round(a-b, 7) != 0

assertGreater(a, b) a > b 2.7

assertGreaterEqual(a, b) a >= b 2.7

assertLess(a, b) a < b 2.7

assertLessEqual(a, b) a <= b 2.7

assertRegexpMatches(s, re) regex.search(s) 2.7

assertNotRegexpMatches(s, re) not regex.search(s) 2.7

assertItemsEqual(a, b) sorted(a) == sorted(b) and works with unhashable objs 2.7

assertDictContainsSubset(a, b) all the key/value pairs in a exist in b 2.7

assertMultiLineEqual(a, b) strings 2.7

assertSequenceEqual(a, b) sequences 2.7

assertListEqual(a, b) lists 2.7

assertTupleEqual(a, b) tuples 2.7

assertSetEqual(a, b) sets or frozensets 2.7

assertDictEqual(a, b) dicts 2.7

assertMultiLineEqual(a, b) strings 2.7

assertSequenceEqual(a, b) sequences 2.7

assertListEqual(a, b) lists 2.7

assertTupleEqual(a, b) tuples 2.7

assertSetEqual(a, b) sets or frozensets 2.7assertDictEqual(a, b) dicts 2.7

使用时机:

那么我们什么时候应该使用断言呢?如果没有特别的目的,断言应该用于如下情况:

防御性的编程

运行时对程序逻辑的检测

合约性检查(比如前置条件,后置条件)

程序中的常量

检查文档

例:防御性编程中添加断言

在代码开始添加注释是个好的开端,但是人们都不太喜欢读和更新这些注释,这些注释会很快变得过时。但对于断言,我们可以同时对这块代码编写文档,如果这些断言被违反了,会直接引起一个简单而又直接的失败。

assert target in(x, y, z)

if target ==x:

run_x_code()

elif target ==y:

run_y_code()

else:

assert target == z

run_z_code()

转载地址:https://blog.csdn.net/weixin_40006779/article/details/110344046 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java hssfcell 单元格样式_实战:Java如何实现文件批量导入导出(兼容xls,xlsx)?...
下一篇:python实现匿名发邮件_Python写自动化之邮件发送(匿名)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月28日 15时23分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

ireport连接mysql_ireport 4.5教程之数据源介绍 2019-04-21
mysql多维模型_数据仓库数据库设计方法---关系模型和多维模型比较分析 2019-04-21
局域网聊天程序 java MySQL_java 基于TCP/IP协议的局域网聊天小程序 2019-04-21
r glm 中的p值_假设检验中的P值 2019-04-21
mysql中sql语句结构_MySQL中使用sql语句获得表结构 2019-04-21
如何增加mysql主键约束_mysql修改表时怎么添加主键约束? 2019-04-21
java选择路径窗口_Java实现选择电脑路径的方法 2019-04-21
java 图像渐变_Java基础之在窗口中绘图——渐变填充(GradientApplet 1) 2019-04-21
冒泡排序面向对象java_所谓的面向对象实现的冒泡排序 2019-04-21
proto 客户端 JAVA_Kubernetes官方java客户端之五:proto基本操作 2019-04-21
java编写roguelike_RogueLike地牢生成算法Unity实现 2019-04-21
java ajax 修改数据库数据库数据库_AJAX 自学练习 无刷新提交并修改数据库数据并显... 2019-04-21
java并发编程指南博客_Java并发编程-synchronized指南 2019-04-21
java怎么中断阻塞状态_java并发编程()阻塞方法与中断方法 2019-04-21
java zlib 位运算_位运算入门:找出一个二进制数的最右端的第一个1;计算一个二进制数中1的个数;找出数组中唯一一个出现次数为奇数的数;找出数组中唯二两个出现次数为奇数的数... 2019-04-21
java lua热更新_lua热更新学习 2019-04-21
script执行php文件_php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法... 2019-04-21
apache 2.4 php5.4_apache2.4+php5.4+my sql 5.6,网站经常无故不能访问 2019-04-21
php apc.dll下载,PHP之APC缓存详细介绍 apc模块安装 2019-04-21
html贝塞尔曲线在线,贝塞尔曲线的一些事情_html/css_WEB-ITnose 2019-04-21