在进行自动化测试的时候,我们经常会遇到这样一种情况。
我们的预期结果是 {'username':'kaishui'}
实际结果是{ 'code': 1 , 'username':'kaishui', 'token':'ihbedvbwejhvkjvberkjvbkjgkesjvbbje' }

我们可以很容易的看出实际结果包含了预期结果的值,所以测试通过。
那么怎么使用python来判断两个字典中是否有着包含关系呢?
注:这里的包含关系是指,A字典中有一个或多个key与B字典一模一样,key对应的value值也一样

方法很简单,封装后如下,可以直接拿去用啦。

def assert_dict(expected,result):
    for key in expected:
        if (key in result) & (result[key]==expected[key]):
            print('测试通过')
        else:
            raise Exception('断言不通过')

后面就是调用这个方法后的值了:

# 预期结果
expected = {'username':'kaishui'}
# 实际结果
result={
    'code': 1 ,
    'username':'kaishui',
    'token':'ihbedvbwejhvkjvberkjvbkjgkesjvbbje'
}

# 如何判断实际结果中包含预期结果的值呢?
def assert_dict(expected,result):
    for key in expected:
        if (key in result) & (result[key]==expected[key]):
            print('测试通过')
        else:
            raise Exception('断言不通过')

assert_dict(expected,result)

实际结果就是测试通过。
我们改变expected中的值,就会报错,代码如下:

# 预期结果
expected = {'username':'kaishui2222'}
# 实际结果
result={
    'code': 1 ,
    'username':'kaishui',
    'token':'ihbedvbwejhvkjvberkjvbkjgkesjvbbje'
}

# 如何判断实际结果中包含预期结果的值呢?
def assert_dict(expected,result):
    for key in expected:
        if (key in result) & (result[key]==expected[key]):
            print('测试通过')
        else:
            raise Exception('断言不通过')

assert_dict(expected,result)

那么结果就是:

总结:用来做接口自动化的断言是不错的选择,期望结果可以使用数据库对比数据,然后通过实际结果进行对比,可以达到意想不到的效果

————————————————
版权声明:本文为CSDN博主「暗潮汹涌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34659777/article/details/105645854

【python】小技巧-判断一个字典中是否包含另一个字典的值,即实际结果中是否包含预期结果相关推荐

  1. 3分钟学会python_3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串. datetime 分别提供了两个方法 strp ...

  2. 收藏喜+1!值得使用的100个Python小技巧

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等 ...

  3. 快收藏!整理了 100 个 Python 小技巧

    作者:小F 来源: 法纳斯特 目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习. ...

  4. 分享几个Python小技巧函数里的4个小花招

    前面讲了很多内容都是关于python的变量,数据结构,下面我们来谈一谈python的函数.python里的函数知识点大概分为 基础的定义使用 , 作用域 和 参数传递 , 高级用法 ,其中参数传递最为 ...

  5. 不藏了!分享100个Python小技巧!!

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等 ...

  6. 100个Python小技巧!帮你节省很多头发

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手.你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等. ...

  7. 整理了100个Python小技巧(超级实用)

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手.你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等. ...

  8. 快收藏!!整理了100个Python小技巧!!

    大家好,我是小F- 目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发 ...

  9. python hist函数_虎哥的python小技巧放送之绘制统计图(2)

    先放出第一期让大家回顾一下上次的内容 虎哥的python小技巧放送之绘制统计图(1) 第一期主要给大家讲了一些图形设置的东西.这一次开始正式带大家画图~ 折线图:折线图可以通过matplotlib中的 ...

  10. 一些你可能不知道的 Python 小技巧!

    [CSDN 编者按]Python 风头正盛,未来一段时间内想必也会是热门编程语言之一.因此,熟练掌握 Python 对开发者来说极其重要,说不定能给作为开发者的你带来意想不到的财富. 作者 | Seb ...

最新文章

  1. Vue Router路由嵌套
  2. iOS计算输入字符数
  3. java 连接redis_Redis 开发陷阱及避坑指南!
  4. python绘图时的分解问题的步骤-零基础学python-15.2 分解函数
  5. 23种设计模式之原型模式
  6. 实用必备xp框架模块_两款实用工具类软件,是你的日常必备!
  7. Flutter透明度渐变动画Opacity实现透明度渐变动画效果
  8. python md5加密
  9. mysql 的基本用法_mysql的基本用法
  10. vb精简版12M大小含msinet.ocx控件
  11. ubuntu搜狗拼音输入法选词框乱码
  12. 测试用例设计-颗粒度
  13. form表单label加问号图标以及提示词
  14. 电脑连接热点无internet访问权限_电脑连接手机热点时出来无internet安全是什么意思?...
  15. 网站漏洞测试分析查找问题攻防演练
  16. 2015.2,对任意正整数n,求xn,要求运算时间复杂度为o(logn).例如x30=x15*x15.
  17. 智能家居DIY创意之智能灯泡
  18. vs2005 sp1 补丁的安装问题
  19. rust门卡有什么用_屠龙之技! 使用Rust加速你的Python
  20. 走向架构师必备的技能,你都会了吗?

热门文章

  1. 游戏开发常用工具总结
  2. matlab画一维波动方程,MATLAB编辑一维波动方程的模拟的程序.doc
  3. 夜游项目如何促进文旅经济的发展
  4. 7月16日周二晚上,陈勇,【敏捷网络课堂第六期】【免费】敏捷开发早期估算
  5. 使用U8G2在oled屏幕上显示胡桃摇动画
  6. Linux内核代码华人贡献统计
  7. 爬取得猫眼电影前top100排行榜
  8. 阿里,字节,拼多多,B站挨个面试一遍,你们猜哪个待遇最高?
  9. linux中comm命令用法
  10. #华为推送# 游戏类应用如何利用推送能力实现用户运营精细化