pytest之assert断言

assert

pytest允许您使用标准Python断言来验证Python测试中的期望和值。例如,你可以写下

# content of test_assert1.py
def f():
    return 3
def test_function():
    assert f() == 4

断言f()函数的返回值,接下来会看到断言失败,因为返回的值是3,判断等于4,所以失败了

异常信息

如果想在异常的时候,输出一些提示信息,这样报错后,就方便查看是什么原因了

def f():
    return 3

def test_function():

    a = f()
    assert a % 2 == 0, "判断a为偶数,当前a的值为:%s"%a  

运行结果

================================== FAILURES ===================================
________________________________ test_function ________________________________

    def test_function():
    
        a = f()
>       assert a % 2 == 0, "判断a为偶数,当前a的值为:%s"%a
E       AssertionError: 判断a为偶数,当前a的值为:3
E       assert (3 % 2) == 0

test_03.py:9: AssertionError
========================== 1 failed in 0.18 seconds ===========================

这样当断言失败的时候,会给出自己写的失败原因了E AssertionError: 判断a为偶数,当前a的值为:3

常用断言

pytest里面断言实际上就是python里面的assert断言方法,常用的有以下几种

  • assert xx 判断xx为真
  • assert not xx 判断xx不为真
  • assert a in b 判断b包含a
  • assert a == b 判断a等于b
  • assert a != b 判断a不等于b  

原文地址:https://www.cnblogs.com/wulixia/p/12177278.html