当前位置: 首页 > news >正文

13、pytest为失败的断言定义自己的解释

官方实例

# content of ocnftest.py
from test_foocompare import Foodef pytest_assertrepr_compare(op, left, right):if isinstance(left, Foo) and isinstance(right, Foo) and op == "==":return["Comparing Foo instances:",f"  vals:{left.val} != {right.val}",]
# content of test_foocompare.py
class Foo:def __init__(self, val):self.val = valdef __eq__(self, other):return self.val == other.valdef test_compare():f1 = Foo(1)f2 = Foo(2)assert f1 == f2

解读与实操

可以通过实现pytest_assertrepr_compare钩子来添加自己的详细解释

pytest_assertrepr_compare(config,op,left,right)

返回失败断言表达式中比较的解释

假如没有自定义解释,则返回None,否则返回字符串列表。字符串将由换行符连接,但字符串中的任何换行符都将被输入。除了第一行之外的所有内容都将略微缩进,目的是让第一行作为摘要。

在这里插入图片描述

场景应用

通过实现钩子函数,可以自定义展示详细解释。比assert后的描述信息更灵活。

http://www.lryc.cn/news/256362.html

相关文章:

  • Flink优化——数据倾斜(二)
  • Unity打包到Webgl平台以及遇到的问题
  • c语言编程题经典100例——(90~95例)
  • Redis核心知识点总结
  • stm32Flash操作
  • 云原生系列1
  • 设计原则 | 里式替换原则
  • 第7节:Vue3 动态绑定多个属性
  • 【文件上传系列】No.1 大文件分片、进度图展示(原生前端 + Node 后端 Koa)
  • 性能测试 —— Jmeter分布式测试的注意事项和常见问题
  • “SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用
  • 总结|哪些平台有大模型知识库的Web API服务
  • TOMCAT9安装
  • QT中时间时区处理总结
  • OpenAtom OpenHarmony三方库创建发布及安全隐私检测
  • 【1】一文读懂PyQt简介和环境搭建
  • windows install git
  • 【华为数据之道学习笔记】3-7 报告数据治理
  • SpringDataRedis 操作 Redis,并指定数据序列化器
  • useradd 在Linux原生应用开发过程中的简单应用
  • Linux 删除文件名乱码的文件
  • 【测试人生】数据同步和迁移的变更注意事项
  • 快手视频如何去掉水印?三个简单好用视频去水印方法
  • 【Linux】stat命令使用
  • 【JavaEE】多线程(3) -- 线程等待 wait 和 notify
  • 自行编写一个简单的shell!
  • mvn site 命令
  • <JavaEE> 经典设计模式之 -- 定时器
  • 【C++ Primer Plus学习记录】if语句
  • 结构体,自定义类型