首页 > 其他 > 详细

deepdiff

时间:2021-02-26 11:40:57      阅读:67      评论:0      收藏:0      [点我收藏+]

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‘]"}))

结果

{}

 

deepdiff

原文:https://www.cnblogs.com/xfang/p/14446505.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!