pytest-10-断言assert+跳过用例skip

1、断言assert

assert把实际结果和预期作对比符合预期pass否则 failed,可在异常时输出提示信息,报错后,便于查找原因。在上下文管理器( pytest.raises)中,使用关键字参数消息指定自定义失败消息

# coding=utf-8

import pytest

def test_zero_division():

    """  断言异常  """

    with pytest.raises(ZeroDivisionError) as excinfo:

        1 / 0

    # 断言异常类型type

    assert excinfo.type == ZeroDivisionError

    # 断言异常value值

    assert 'division by zero' in str(excinfo.value)


excinfo是一个异常信息实例,它是围绕实际引发的异常的包装器。主要属性是.type、 .value 和 .traceback

(注:断言type时,异常类型无需加引号,断言value值时,需要转str)

常用断言:

assert xx       判断xx为真

assert not xx  判断xx不为真

assert a in b   判断b包含a

assert a == b  判断a等于b

assert a != b   判断a不等于b

2、跳过用例skip

pytest.mark.skip无条件跳过(可用于标记无法在某些平台运行的测试功能/期望失败的功能)

pytest.mark.skipif有条件跳过

注意:不要在使用继承的类上使用skipif。 pytest中的一个已知错误标记可能会导致超类中的意外行为。

pytestmark = pytest.mark.skipif(...)#跳过模块的所有测试功能

pytest.importorskip("pexpect")  #缺少某些导入,则跳过模块中的所有测试

你可能感兴趣的:(pytest-10-断言assert+跳过用例skip)