pytest-assert知识点补充

2021-08-16  本文已影响0人  Rainbow想喝奶茶

失败信息

之前的测试函数中用assert进行相等断言,它还可以在测试用例执行失败时定义输出信息。

assert 1==2,"这里是一些定义的信息,可以拥有变量值a=%s" % a 
失败时输出信息

异常判断

对于一些异常的测试用例,assert也可以利用pytest.raises针对异常进行判断。

def test_error():
    with pytest.raises(ZeroDivisionError) as error :
        1/0
    assert error.type==ZeroDivisionError,"值是%s"% error.type
    assert "zero"in str(error.value)

通过对类型以及返回值进行比较,确认异常报错信息和预期是否一致。

预判断失败

针对会失败的测试用例,如果错误类型与预期一致,则认为是在计划内的执行失败,不需要打印详细信息。

@pytest.mark.xfail(raises=ZeroDivisionError)
def test_xfail():
    1/0

xfail标识代表这个用例预计到失败,如果通过,会在结果中显示xpass,失败则显示xfail。增加raises后,错误类型为ZeroDivisionError显示xfail,其它类型显示failed,不报错则显示xpass
自我记录,有错误欢迎指正~

上一篇下一篇

猜你喜欢

热点阅读