Pytest断言
- 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了
- 断言就是用实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed
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
异常断言
import pytest
def a():
with pytest.raises(ZeroDivisionError) as ZE:
1 / 0
assert ZE.type == ZeroDivisionError
assert "division by zero" in str(ZE.value)
pytest.main(["day.py"])
- ZE 是一个异常信息实例,它是围绕实际引发的异常的包装器。
- 主要属性是.type、 .value .traceback
- 断言 type 的时候,异常类型是不需要加引号的,断言 value值的时候需转 str
- 在上下文管理器窗体中,可以使用关键字参数消息指定自定义失败