Pytest 测试用例断言

Pytest 测试用例断言

在 pytest 中,断言(assert)是用来验证测试结果是否符合预期的基本手段。其本质其实就是if表达式,通过参数对比来判断结果。

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

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


断言的优点

  • 用例名称: Pytest 使用断言可以使测试代码更简洁,省去了验证代码大大提升了代码可读性,并且提供了友好的错误消息和异常处理,可以更好地进行测试和调试。

断言的用法

  • assert <表达式>:

    py 复制代码
       assert <bool expression>
  • assert <表达式>, <描述>:

    py 复制代码
       assert <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 会展示出失败的断言表达式和实际结果,这使得调试非常方便。


相关推荐
AC赳赳老秦1 天前
招投标公开数据自动化采集实战:基于 OpenClaw 的定时抓取与业务关键词精准推送
运维·服务器·数据库·自动化·测试用例·deepseek·openclaw
一孤程2 天前
Pytest+Selenium搭建自动化框架-保姆级实战教程
selenium·自动化·pytest
天才测试猿3 天前
Selenium自动化测试网页加载太慢怎么解决?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
BullSmall4 天前
大模型基础测试用例库完整编写方案 + 核心注意事项
测试用例
名字还没想好☜6 天前
用 pytest fixture 组织可维护的测试:告别一堆重复的 setUp
数据库·python·oracle·pytest·测试
一孤程6 天前
AI辅助测试用例生成实战——用大模型把测试设计效率提升300%
人工智能·测试工具·ai·aigc·测试用例·测试·测试覆盖率
A000—ic测试座(陈佳鑫)7 天前
行业内规格尺寸齐全的DC/AC转换器芯片测试座销售厂家
测试用例
天才测试猿7 天前
如何封装自动化测试框架?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
A000—ic测试座(陈佳鑫)8 天前
行业内满足各类环境测试需求电池管理芯片测试座生产商适配性强
测试用例