[转]如何判断字典a在字典b 接口测试验证点

实际应用

一般在接口测试的时候,返回的参数比较多的情况,如果一个个字段去校验,会比较麻烦,那么如何直接拿一个期望的字典放键值对,判断结果里面是否包含期望的值
当请求一个接口的时候,返回的内容如下

{
    'code': 0,
    'msg': 'success!',
    'data': [{"username": "yoyo", "qq": "283340479"}]
}

  

期望结果里面包含 {‘code’: 0, ‘msg’: ‘success!’}

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

def dict_a_in_b(dict_a, dict_b):
    '''is dict_a in dict_b, return True/False'''
    result = None
    for key in dict_a:
        if (key in dict_b) and (dict_a[key] == dict_b[key]):
            result = True
        else:
            return False
    return result

# 预期结果
expected = {'code': 0, 'msg': 'success!'}
# 实际结果
actual_result = {
    'code': 0,
    'msg': 'success!',
    'data': [{"username": "yoyo", "qq": "283340479"}]
}

if __name__ == '__main__':
    print(dict_a_in_b(expected, actual_result))

  

原文地址:https://www.cnblogs.com/alamZ/p/13718357.html