python封装接口用于调用_Python接口测试结果集实现封装比较

这篇博客介绍了Python中的`is`和`==`运算符的区别,强调在进行断言时应注意比较值而非内存地址。文章通过示例展示了不同数据类型在使用这两个运算符时的行为,并提供了一个简单的类`CompareStr`,用于封装断言逻辑,判断预期结果和实际结果是否一致。主要关注点在于代码封装和测试断言的理解。
摘要由CSDN通过智能技术生成

引言

接口测试执行完后,我们需要进行断言,断言的主要目的是用代码来判断实际结果和预期结果是否一致,这跟手工测试中用肉眼去判断是一样的思路。既然这样,我们可以将已知的预期结果和未知的实际结果简单的封装成一个类,然后写一个比较的函数来判断,最后得到结果。

知识点预热

在讲代码之前,先了解一下python的运算符is和==。可能有些人经常用,但是却不知道是什么意思,知其然而不知其所以然。

python对象包括三个基本要素:id(身份标识)、type(数据类型)和value(值)。

1、"is" 是身份运算符,判断两个对象是否相同,是判断id是否相同,也就是内存地址是否相同。

2、"=="是比较运算符,判断两个对象的值是否相同,也就是value。

示例:

# 数值型

2020050111465713.png

# 字符串

2020050111465714.png

# 元组

2020050111465715.png

# 列表

2020050111465716.png

# 字典

2020050111465817.png

# 集合

2020050111465818.png

结论:通过上面几个例子可以看出,两个对象只有int和str的时候,a is b才为True。而当a和b是tuple,list,dict或set型时,a is b为False。

封装

上面已经介绍了如何比较两个对象是否相同,那么我们在比较两个结果,实际结果和预期结果是否相同也可以用这种方法,但是一定要记住是比较value还是内存地址。现在我简单对判断测试结果进行封装,不过这里我用的是包含,当然你可以用"=="。

具体代码:

__author__ = 'Leo'

class CompareStr(object):

def is_contains(self,str1,str2):

"""

判断预期结果与实际结果是否相同

:param str1: 预期结果

:param str2: 实际结果

:return flag: 标记

"""

self.flag = None

if str1 in str2:

self.flag = True

else:

flag = False

return self.flag

if __name__ == '__main__':

cs = CompareStr()

print(cs.is_contains('123','123456'))

运行结果:

2020050111465819.png

总结

以上内容是一个简单的知识点,简单进行封装。小知识点容易被忽略,记一记总是好的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值