Pytest 测试用例断言
在 pytest 中,断言(assert)是用来验证测试结果是否符合预期的基本手段。其本质其实就是if表达式,通过参数对比来判断结果。
断言语句用的是 Python 内置的 assert 语句,用于验证期望的结果与实际的结果是否相符,它是测试框架中检查测试正确性的基础。
assert 可以检查某个条件是否为 True,如果条件为 False,则会抛出 AssertionError 异常,并且测试失败。
断言的优点
- 用例名称: Pytest 使用断言可以使测试代码更简洁,省去了验证代码大大提升了代码可读性,并且提供了友好的错误消息和异常处理,可以更好地进行测试和调试。
断言的用法
-
assert <表达式>:
pyassert <bool expression> -
assert <表达式>, <描述>:
pyassert <bool expression>, <message> -
代码示例
py# 断言实际结果是否等于预期结果。 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 会展示出失败的断言表达式和实际结果,这使得调试非常方便。

