• [转]使用flask实现mock server


    什么是mock server: http://www.testclass.net/interface/mock_server

    使用flask 实现  mock server : http://www.testclass.net/interface/flask_mock

    flask 的 g 对象:  https://www.jianshu.com/p/d4385c637d95

    可以考虑 restful API 代替, 学习贴, 感谢以上两位作者的帖子

    使用场景

    前端客户端团队和后端服务端团队往往节奏是不一致的。前端很多情况下需要等待后台的api开发完成后才能进行开发联调和测试,这种前后端不对称就造成了前后端团队节奏不一致,从而造成整个项目/产品交付/发布延期。

    有一种解决方案的思路是前后端先约定好后端提供的api接口的细节,前端人员自行先模拟出这些后端的实现,当然这些实现是假的,不过前端可以去调用这些假的实现,而且能拿到返回,这样一来前端就不需要等待后端开发完成才开始工作了。

    但是这样还是会有问题,前端实现的假的api没办法迅速反映出后端的变化。简单来说就是后端可能在约定好的api接口上进行了些许修改,而没有知会前端人员,这样前端的假的api实现并没有相应更新,在正式联调时就会出现问题。

    像这种假的api实现,不管是前端实现的还是后端去实现的,我们可以称之为mock server。

    • mock表示这个api返回的数据是假的,仅作为测试用的
    • server表示需要启动服务,说到底这是一个服务程序

    契约测试

    由于前后端往往有一些信息不对称,导致约定的api可能在前后端都会发生变化,所以保证前后端的一致性就成了一个挑战。

    这时候有人提出了契约测试,大致思想是前后端共用一份契约,约定了api的细节,前后端的任何变化都需要先修改契约,然后通过契约去通知前后端团队,统一更新实现。这也是契约精神的表现。

    如果为契约测试设置一种测试工具的话,我会规划下面一些特性

    • 契约的描述工具:也就是契约长什么样子,用什么工具去定义才能让前后端团队秒懂

    • 通过契约自动生成mock server实现,这样前端团队就可以拿来即用了,如果契约修改了,那么前端团队也很容易感知到

    • 通过契约自动生成接口测试用例,这样通过持续运行这些接口测试用例,后端团队就可以第一时间发现契约的修改

    如何理解flask

    • 路由 -> /request/uri

    • handler -> 路由进来之后处理request并返回response的逻辑

    1.什么是g对象。

    1.在flask中,有一个专门用来存储用户信息的g对象,g的全称的为global。
    2.g对象在一次请求中的所有的代码的地方,都是可以使用的。

    2.g对象和session的区别

    在我看来,最大的区别是,session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session,但是g对象不是,g对象不需要管过期时间,请求一次就g对象就改变了一次,或者重新赋值了一次。那么g对象该如何使用呢?看代码。



  • 相关阅读:
    图像处理检测方法 — SIFT和SURF
    代码题(31)— 有效的括号、括号生成、最长有效括号
    代码题(30)— 二叉搜索树、二叉树的最近公共祖先
    【angularjs】使用angular搭建项目,实现隔行换色
    【css3】nth-child
    【window】Windows10下为PHP安装redis扩展
    【css】3d导航效果
    【angularjs】使用angularjs模拟淘宝首页-淘宝头条滚动效果
    【js】横/纵向无缝滚动
    【angularjs】使用ionic+angular 搭建移动端项目,字体适配
  • 原文地址:https://www.cnblogs.com/brownz/p/10514412.html
Copyright © 2020-2023  润新知