deepdiff是一个校验两个对象是否一致的库,并返回其中的差异之处 文档
在校验接口返回值与预期值的差异,可以直接用作接口测试中的assertion
Deepdiff 递归查找所有不同项,增加、减少、修改等
拿两个json进行比较
from deepdiff import DeepDiff import pprint a = {"Object":{ "code": "0", "message": "success" }, "code": "0", "message": "success" } b = {"Object":{ "code": "0", "message": "failure" }, "message": "success", "timestamp": "1614301293" } pprint.pprint(DeepDiff(a, b))
结果
{‘dictionary_item_added‘: [root[‘timestamp‘]], ‘dictionary_item_removed‘: [root[‘code‘]], ‘values_changed‘: {"root[‘Object‘][‘message‘]": {‘new_value‘: ‘failure‘, ‘old_value‘: ‘success‘}}
指定key不去匹配
from deepdiff import DeepDiff import pprint a = {"Object":{ "code": "0", "message": "success" }, "code": "0", "message": "success" } b = {"Object":{ "code": "0", "message": "failure" }, "message": "success", "timestamp": "1614301293" } pprint.pprint(DeepDiff(a, b, exclude_paths={"root[‘timestamp‘]", "root[‘code‘]", "root[‘Object‘][‘message‘]"}))
结果
{}
原文:https://www.cnblogs.com/xfang/p/14446505.html