背景
最近有人问我,想要做一个平台对比代码之间的区别,用python如何去实现;
还有同学问我,接口的返回字段特别多,成千上万行,如何快速审核验证返回值全部字段?
那么今天就跟大家介绍 一个库就可以很好实现以上两个需求 。
- deepdiff
其实满足上面需求的库有两个deepdiff和difflib,主要区别是deepdiff显示的对比效果比较简洁,但是可以设置忽略的字段,difflib显示的对比结果可以是html的,比较详细。但是由于篇幅有限,我们今天只讲deepdiff。
deepdiff模块常用来校验两个对象是否一致,并找出其中差异之处。其中提供了三个类,DeepDiff,DeepSearch和DeepHash,官网地址: https://deepdiff.readthedocs.io/en/latest/
l DeepDiff :字典,可迭代项,字符串和其他对象的深层差异。它将递归地查找所有更改。
l DeepSearch :在其他对象中搜索对象。
l DeepHash :根据对象的内容对其进行哈希处理。
返回值的展示样式有两种, 文本视图(原始)和树视图(新).-
运行
对于测试人员用的比较多的就是DeepDiff,所以今天我们主要讲解这个类。<