python断言assert实例_详解Pytest中的断言assert

“软件测试的主要工作目标是验证实际结果与预期结果是一致的,在自动化软件测试中,通过断言来实现这一目的。Pytest中断言是通过Python原生的assert语句实现的,对Python原生的assert语句进行了优化,当发生断言失败时,错误信息更加丰富,方便测试时快速定位问题原因。”

优秀的测试框架都提供了断言的方法,比如TestNG中的assertTrue、assertEquals、assertSame等等。前面给大家介绍过Pytest的实践《pytest接口测试轻松入门》,本文将详细介绍Pytest的断言,与TestNG相比它更加简单,只有一个assert语句,但是功能非常强大并且简单易用。

1、Python原生的assert

Python中assert语句通常用来对代码进行必要的检查,确定某种情况一定发生,或者一定不会发生。

Python 的 assert 语句的语法是这样的:

assert expression1 ["," expression2]

expression1往往是一个条件表达式,如果条件表达式为True,则什么也不做,相当于执行了 pass 语句;如果条件表达式为False,便会抛出异常 AssertionError,并返回具体的错误信息expression2。看一个实际例子:

# content of my_assertion.py

def assertion():

assert [1, 2, 3] == [1, 2, 4], "left is [1,2,3], right is [1,2,4]"

if __name__ == '__main__':

assertion()

执行一下上面的代码看看结果:

$ python my_assertion.py

Traceback (most recent call last):

File "my_assertion.py", line 5, in

assertion()

File "my_assertion.py", line 2, in assertion

assert [1, 2, 3] == [1, 2, 4], "left is [1,2,3], right is [1,2,4]"

AssertionError: left is [1,2,3], right is [1,2,4]

可见,assert后面的条件表达式为False,抛出了AssertionError,并显示了错误信息left is [1, 2, 3], right is [1, 2, 4]。

不过,这里还有一点小小的缺憾。并没有明确告诉开发人员,条件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值