python的asrt用法

更新时间:2023-06-24 02:37:12 阅读: 评论:0

python的asrt⽤法
断⾔语句和 if 分⽀有点类似,它⽤于对⼀个 bool 表达式进⾏断⾔,如果该 bool 表达式为 True,该程序可以继续向下执⾏;否则程序会引发AsrtionError 错误。
断⾔格式: asrt+空格+要判断语句+双引号“报错语句”
⼀、断⾔的常见⽤途
  那么我们什么时候应该使⽤断⾔呢?如果没有特别的⽬的,断⾔应该⽤于如下情况:
防御性的编程
运⾏时对程序逻辑的检测
合约性检查(⽐如前置条件,后置条件)
程序中的常量
检查⽂档
⼆、asrt基础语法1
电脑cup
s_age = input("请输⼊您的年龄:")
age = int(s_age)
asrt 20 < age < 80
print("您输⼊的年龄在20和80之间")
上⾯程序中粗体字代码断⾔ age 必须位于 20 到 80 之间。运⾏上⾯程序,如果输⼊的 age 处于执⾏范围之内,则可看到如下运⾏过程:
运⾏结果:
请输⼊您的年龄:23
您输⼊的年龄在20和80之间
如果输⼊的 age 不处于 20 到 80 之间,将可以看到如下运⾏过程:
运⾏结果:
请输⼊您的年龄:1
Traceback (most recent call last):
File "C:\Urs\mengma\Desktop\1.py", line 3, in <module>
asrt 20 < age < 80
AsrtionError
三、asrt基础语法2
s_age = input("请输⼊您的年龄:")
age = int(s_age)
asrt 20 < age < 80, "断⾔错误提⽰:年龄不在范围之内!"
print("您输⼊的年龄在20和80之间")
上⾯程序中粗体字代码断⾔ age 必须位于 20 到 80 之间。运⾏上⾯程序,如果输⼊的 age 处于执⾏范围之内,则可看到如下运⾏过程:
运⾏结果:
请输⼊您的年龄:23
您输⼊的年龄在20和80之间
如果输⼊的 age 不处于 20 到 80 之间,将可以看到如下运⾏过程:
运⾏结果:
请输⼊您的年龄:1
Traceback (most recent call last):
File "C:/Urs/Administrator/Desktop/json/flaskAI/day9020190712/test1.py", line 10, in <module>
asrt 20 < age < 80, "断⾔错误提⽰:年龄不在范围之内!"
AsrtionError: 断⾔错误提⽰:年龄不在范围之内!
四、断⾔的⾃动化测试脚本
  python⾃动化测试中寻找元素并进⾏操作,如果在元素好找的情况下,相信⼤家都可以较熟练地编写⽤例脚本了,但光进⾏操作可能还不够,有
时候也需要对预期结果进⾏判断。
常⽤断⾔:
asrtEqual
asrtNotEqual
asrtTrue
asrtFal
asrtIsNone
毫升和立方厘米asrtIsNotNone
五、asrtEqual 和 asrtNotEqual
asrtEqual:如两个值相等,则pass
asrtNotEqual:如两个值不相等,则pass
使⽤⽅法:
asrtEqual(first,cond,msg)其中first与cond进⾏⽐较,如果相等则通过;msg为失败时打印的信息,选填;断⾔asrtNotEqual反着⽤就可以了。
六、asrtTrue和asrtFal
asrtTrue:判断bool值为True,则pass
asrtFal:判断bool值为Fal,则Pass
使⽤⽅法:
asrtTrue(expr,msg)其中express输⼊相应表达式,如果表达式为真,则pass;msg选填;断⾔asrtFal如果表达式为假,则pass
七、asrtIsNone和asrtIsNotNone
asrtIsNone:不存在,则pass
asrtIsNotNone:存在,则pass
使⽤⽅法:
asrtIsNone(obj,msg)检查某个元素是否存在
⼋、断⾔测试补充
asrtEqual(a, b)    a == b
asrtNotEqual(a, b)    a != b
asrtTrue(x)    bool(x) is True
asrtFal(x)    bool(x) is Fal
asrtIs(a, b)    a is b    2.7
李金鳌
asrtIsNot(a, b)    a is not b    2.7
asrtIsNone(x)    x is None    2.7
asrtIsNotNone(x)    x is not None    2.7
asrtIn(a, b)    a in b    2.7无依无靠的意思
梅干asrtNotIn(a, b)    a not in b    2.7
asrtIsInstance(a, b)    isinstance(a, b)    2.7
asrtNotIsInstance(a, b)    not isinstance(a, b)    2.7
asrtAlmostEqual(a, b)    round(a-b, 7) == 0
asrtNotAlmostEqual(a, b)    round(a-b, 7) != 0
asrtGreater(a, b)    a > b    2.7
asrtGreaterEqual(a, b)    a >= b    2.7
asrtLess(a, b)    a < b    2.7
asrtLessEqual(a, b)    a <= b    2.7
asrtRegexpMatches(s, re)    regex.arch(s)    2.7
asrtNotRegexpMatches(s, re)    not regex.arch(s)    2.7
asrtItemsEqual(a, b)    sorted(a) == sorted(b) and works with unhashable objs    2.7
asrtDictContainsSubt(a, b)    all the key/value pairs in a exist in b    2.7
asrtMultiLineEqual(a, b)    strings    2.7
asrtSequenceEqual(a, b)    quences    2.7
凄惨的近义词asrtListEqual(a, b)    lists    2.7
asrtTupleEqual(a, b)    tuples    2.7
asrtSetEqual(a, b)    ts or frozents    2.7
asrtDictEqual(a, b)    dicts    2.7
asrtMultiLineEqual(a, b)    strings    2.7
asrtSequenceEqual(a, b)    quences    2.7
asrtListEqual(a, b)    lists    2.7
asrtTupleEqual(a, b)    tuples    2.7
asrtSetEqual(a, b)    ts or frozents    2.7asrtDictEqual(a, b)    dicts    2.7
九、防御性编程中添加断⾔实例
  在代码开始添加注释是个好的开端,但是⼈们都不太喜欢读和更新这些注释,这些注释会很快变得过时。但对于断⾔,我们可以同时对这块代码编写⽂档,如果这些断⾔被违反了,会直接引起⼀个简单⽽⼜直接的失败。
target = 5
x = 1
y = 2
z = 3
def run_x_code():
学案导学
print(1)
def run_y_code():
print(2)
def run_z_code():
print(3)
asrt target in (x, y, z)
if target == x:
run_x_code()
elif target == y:期待效应
run_y_code()
el:
asrt target == z
run_z_code()
打印结果:
# target = 5 时
Traceback (most recent call last):
File "C:/Urs/Administrator/Desktop/json/flaskAI/day9020190712/test1.py", line 31, in <module>
asrt target in (x, y, z)
AsrtionError

本文发布于:2023-06-24 02:37:12,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1052139.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:元素   程序   判断   添加   测试   注释   代码   操作
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图