使用场景

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

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

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

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

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

契约测试

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

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

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

  • 契约的描述工具:也就是契约长什么样子,用什么工具去定义才能让前后端团队秒懂
  • 通过契约自动生成mock server实现,这样前端团队就可以拿来即用了,如果契约修改了,那么前端团队也很容易感知到
  • 通过契约自动生成接口测试用例,这样通过持续运行这些接口测试用例,后端团队就可以第一时间发现契约的修改

Mock server是什么相关推荐

  1. 1分钟搭建极简mock server

    摘自博客园:https://www.cnblogs.com/mikasama/p/9838480.html 1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果 ...

  2. 如何优雅的使用Mock Server

    事出有因 昨天跟同事讨论我们在用的rap2(一个集接口编写和mock server的开源项目)和刚上线了一个easy-mock的server,到底哪个好用. 我们主要讨论的点有个两个: 接口的一致性. ...

  3. python接口测试实战_Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    课程目录 更多学习资料请加添加作者微信:superz-han获取 本节内容 REST及RESTful API Web Service XML解析 Mock Server REST及RESTful AP ...

  4. java mockserver搭建_搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

  5. SAP UI5 应用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深入介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. SAP UI5 应用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深入介绍

    学习本步骤之前,请确保你已经复习了步骤 26 和 步骤 62 的知识: SAP UI5 应用开发教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解 SAP UI5 应用开发教程之六 ...

  7. 如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务

    我们在做 SAP UI5 开发时,在视图逻辑没有开发完毕时,往往不希望连接服务器端的 OData 服务进行联调,而仅仅连接本地端的测试数据. 本文介绍如果启动本地 mock server,将 SAP ...

  8. 搭建Mock Server

    搭建Mock Server 1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 ...

  9. pythonflaskmock数据_Flask实现简单Mock Server

    Mock Server充当的角色: Mock server在实际项目中的意义就相当于数据库.将我想要的数据返回给我就行,我并不关心你怎么逻辑处理的. 一般的应用程序请求方式是GET和POST. Fla ...

  10. 基于django rest framework的mock server实践

    网上找了一下mock server的实现,发现python的基本都是基于flask来实现的,因最近在学django,就尝试用drf实现了下: A brief introduction of sui_m ...

最新文章

  1. gitlab基本工作原理
  2. java mysql failover_mysqlfailover测试
  3. C# 2.0对现有语法的改进
  4. ElasticSearch的Object数据类型
  5. python打印字符串全排列_【算法15】字符串的全排列
  6. 忍者X2简介+安装包+安装环境说明 [复制链接]
  7. Unity API学习笔记(2)-GameObject的3种Message消息方法
  8. 大数据平台搭建技术底座 四行业迎来新机遇
  9. JQUERY冻结table行或列js
  10. MYSQL之You can't specify target table for update in FROM clause解决办法
  11. 云学堂丁云鹏:变成别人,还不如成为自己!
  12. springboot-加载自定义的properties文件
  13. java通过jstack命令查询日志深入理解
  14. Verdi 知识体系
  15. 管理系统菜单父子结构,有parentId,快速获取结构树代码
  16. 在家做科研是一种什么样的体验?
  17. php lararel,Voyager 的使用及二次开发
  18. 车辆被盗后发生交通事故由谁来赔偿
  19. 用什么软件测试显示器的赫兹,外媒测试90Hz与60Hz屏幕:大家真能看出差异吗?...
  20. 亚马逊AWS云架构支柱与数字化转型

热门文章

  1. mysql sga_MySQL王者晋级之路(一)安装、体系结构和存储引擎
  2. JAVA虚拟机--JVM
  3. 把图片转换成视频-ffmpeg
  4. 通过全局钩子发送自定义消息,实现进程通信
  5. 云服务器配置和域名配置
  6. Java—泛型、内部类、多继承
  7. Android 几个ApplicationInfo Info系列类的总结
  8. vue学习笔记 DAY1 P1~P6
  9. 【18/M/python】4Sum
  10. 最早walkman android,首款Walkman血统安卓手机 索爱E16i评测