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

实际应用

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

1
2
3
4
5
{
    'code': 0,
    'msg': 'success!',
    'data': [{"username": "yoyo", "qq": "283340479"}]
}

  

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 作者-上海悠悠 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))

  

posted @   AlamZ  阅读(196)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示