Skip to content

Pytest 测试用例断言


简介

在 pytest 中,断言(assert)是用来验证测试结果是否符合预期的基本手段。

断言语句用的是 Python 内置的 assert 语句,用于验证期望的结果与实际的结果是否相符,它是测试框架中检查测试正确性的基础。

assert 可以检查某个条件是否为 True,如果条件为 False,则会抛出 AssertionError 异常,并且测试失败。


使用断言的优点

Pytest 使用断言可以使测试代码更简洁、直观和可读,并且提供了友好的错误消息和异常处理,帮助开发人员更好地进行测试和调试。


断言的用法

  • assert <表达式>
  • assert <表达式>, <描述>
assert <bool expression>
assert <bool expression>, <message>

断言等于

断言预期结果是否等于实际结果。

def test_equal():
    assert 1 + 1 == 2

断言不等于

断言预期结果是否不等于实际结果。

def test_not_equal():
    assert 2 + 2 != 5

断言大于和小于

断言预期结果是否大于或者小于实际结果。

def test_greater_than():
    # 检查 3 是否大于 2
    assert 3 > 2  

def test_less_than():
    # 检查 2 是否小于 3
    assert 2 < 3  

断言包含

断言实际结果中是否包含预期结果。

def test_in():
    fruits = ['apple', 'banana', 'cherry']
    # 检查 'apple' 是否在列表 fruits 中
    assert 'apple' in fruits  

断言为空

断言实际结果是否为空,或不为空。

def test_is_none():
    value = None
    # 检查值是否为 None
    assert value is None  

def test_is_not_empty():
    value = "hello"
    # 检查字符串是否非空
    assert value  

断言的自定义错误消息

可以为 assert 语句指定自定义错误消息,在断言失败时展示。

自定义的错误信息可以帮助测试人员更快地理解测试失败的原因。

def test_addition():
    result = 1 + 1
    # 自定义错误消息
    assert result == 3, f"预期结果是 3, 不是 {result}"

断言结果

标准的 assert 语句会自动解释失败的断言并显示详细的信息。

pytest 会展示出失败的断言表达式和实际结果,这使得调试非常方便。


总结

  • Pytest 断言优点。
  • Pytest 断言的用法。