当前位置: 首页 > news >正文

app和网站开发哪个难公司网站百度推广

app和网站开发哪个难,公司网站百度推广,网站上的漂浮怎么做,佛山外贸网站建设信息前言 断言是完整的测试用例中不可或缺的因素,用例只有加入断言,将实际结果与预期结果进行比对,才能判断它的通过与否。 unittest 框架提供了其特有的断言方式,如:assertEqual、assertTrue、assertIn等,py…

前言

断言是完整的测试用例中不可或缺的因素,用例只有加入断言,将实际结果与预期结果进行比对,才能判断它的通过与否。

unittest 框架提供了其特有的断言方式,如:assertEqual、assertTrue、assertIn等,pytest 同样有自己的断言方式,即使用assert进行断言。

assert

pytest 中使用python源生态assert字段进行断言。

常用断言方式

pytest常用的断言方式如下:

  • 判断是否相等,assert Actual(实际结果) == Expected(期望结果)
  • 判断是否不相等,assert Actual != Expected,其他如 >、<、>=、<= 都可直接使用。
  • 判断xx是否为真,assert xx
  • 判断xx是否不为真,assert not xx
  • 判断b是否包含a,assert a in b
  • 判断b不包含a,assert a not in b

assert 断言的对象可以是字符串、int、float、list、dict、tuple 任一类型。

使用示例

自定义了一个查询所有用户信息接口,返回参数格式如下:

{"code": 1000,"data": [{"id": 1, "username": "刘德华", "sex": 0, "telephone": "12306", "address": "香港九龙区"},{"id": 2, "username": "梅艳芳", "sex": 1, "telephone": "95511", "address": "上海黄浦区"},{"id": 3, "username": "陈百强", "sex": 0, "telephone": "10086", "address": "北京海淀区"},]
}

用例断言如下:

def test_get_all_users():'''查询所有用户信息'''url = "http://127.0.0.1:5000/users"res = requests.get(url=url).textres = json.loads(res)# 断言是否相等assert res['code'] == 1000# 断言返回结果中data是否为True(这里其实就是判断是否为空)assert res['data']Andy = {"id": 1, "username": "刘德华", "sex": 0, "telephone": "12306", "address": "香港九龙区"}# 断言返回结果中data是否包含刘德华的信息assert Andy in res['data']

断言通过:

我们修改一下脚本让断言不通过,如下:

def test_get_all_users():'''查询所有用户信息'''url = "http://127.0.0.1:5000/users"res = requests.get(url=url).textres = json.loads(res)# 断言是否相等assert res['code'] == 1001# 断言返回结果中data是否为True(这里其实就是判断是否为空)assert not res['data']Andy = {"id": 1, "username": "刘德华", "sex": 0, "telephone": "12306", "address": "香港九龙区"}# 断言返回结果中data是否包含刘德华的信息assert Andy not in res['data']

运行结果如下:

可以看到,code 的 Actual 为1000,而 Excepted 为1001,所以断言直接报错,不继续执行后面的代码。

断言结果添加异常信息

我们可以在断言异常的时候,输出一些提示信息,这样断言报错后,可以方便我们查看原因。

自定义的用户信息接口可以查询某个用户的信息,对它编写测试脚本如下:

def test_get_user():'''查询所有用户信息'''url = "http://127.0.0.1:5000/users/1"res = requests.get(url=url).textres = json.loads(res)assert res['code'] == 1000assert res['data']['username'] == "张学友", "判断返回是否为张学友,实际返回:{}".format(res['data']['username'])

运行结果如下:

总结

pytest 还能对执行过程中产生的 Exception 及 Warnning 进行断言,但这些情况在我们的测试中很少会用到,所以不做过多阐述。

 

http://www.yayakq.cn/news/486798/

相关文章:

  • 简单的购物网站项目学网站建设学校
  • 岭南地区网站建设俄文网站引擎
  • 西安专业做网站建设石家庄信息门户网站制作费用
  • 做网站销售好做吗重庆网站建设注意事项
  • 网站开发员属于网站和微信公众号建设
  • m 外贸网站网站的程序有哪些内容
  • 网站排名如何上升做企业网站可以没有后台吗
  • 网站类网站开发教程昆山vi设计
  • 做网站建设的前景怎样做淘宝的导购网站
  • 南京栖霞区有做网站的吗淘宝这种网站怎么做的?
  • 网站做链轮会被惩罚吗广西金利建设有限公司网站
  • 网站服务器放置地 网站接入服务提供单位怎么填免费创建网站的平台
  • 网页网站建设软件有哪些临沂网站关键字优化
  • asp.net程序做的网站安全吗网页设计作品评价
  • 松原网站建设公司电话wordpress菜单新连接
  • 商业网站建设设计装饰厦门网站推广费用
  • 网站建设 引导wordpress验证邮箱验证
  • 做家教网站的资源是什么淘宝网站短链接怎么做
  • 如果建设一个网站wordpress seo插件教程
  • 网站流量统计数据库设计宁波seo推广哪家快
  • 关于重新建设网站的申请网站建设需要企业
  • 网站制作多少钱一个wordpress插件使用模板
  • 浙江建设厅 继续教育 网站首页html5 网站案例
  • 可视化拖拽建站系统我要自学网首页
  • 如何做网站霸屏南京建设教育网站
  • 公司网站域名备案火狐 开发者 网站
  • 深圳网站开发的公司Wordpress重复导入
  • 这个网站中有网名做会计的吗 了解一下市场营销推广方案模板
  • 网站响应时间多久html5响应时网站
  • 常州做网站那家快中国建造师官方网站