美文网首页pytest
pytest-10-断言assert+跳过用例skip

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

作者: 恶毒女配的日常 | 来源:发表于2020-12-08 09:58 被阅读0次

    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

        本文链接:https://www.haomeiwen.com/subject/gnmmwktx.html