Pytest的断言比unittest的断言更简单实用

这里写目录标题

Pytest断言

  • 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了
  • 断言就是用实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed
# -*- coding: utf-8 -*-
# @Author : 码上开始

import pytest

def test01():
    b = 2
    assert 1 == b, "预期的值是:%d"%b

def test02():
    assert 2 == 2

pytest.main(["day.py"])

运行结果

  • 用例通过1条,失败1条
  • 断言失败会写出自己失败的原因
    def test01():
        b = 2
>       assert 1 == b, "预期的值是:%d"%b
E       AssertionError: 预期的值是:2
E       assert 1 == 2

异常断言

# -*- coding: utf-8 -*-
# @Author : 码上开始

import pytest

def a():
    with pytest.raises(ZeroDivisionError) as ZE:
        1 / 0

    # 断言异常类型type
    assert ZE.type == ZeroDivisionError
    # 断言异常value
    assert "division by zero" in str(ZE.value)

pytest.main(["day.py"])
  • ZE 是一个异常信息实例,它是围绕实际引发的异常的包装器。
  • 主要属性是.type、 .value .traceback
  • 断言 type 的时候,异常类型是不需要加引号的,断言 value值的时候需转 str
  • 在上下文管理器窗体中,可以使用关键字参数消息指定自定义失败
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页