软件测试 | 测试开发 | MockServer 服务框架设计

大部分现有的 mock 工具只能满足 HTTP 协议下简单业务场景的使用。但是面对一些复杂的业务场景就显得捉襟见肘,比如对 socket 协议的应用进行 mock,或者对于支付接口的失败重试的定制化 mock 场景。 为解决上述问题,霍格沃兹测试学院设计并研发了 CSRMockServer 在下面的文章中简称 mock server。 mock server 相较于这些 mock 工具,具有规则更灵活、定制化更强、支持拓展多协议的特点。在本章节将会从架构设计介绍如何实现以上的特点,而在实战章节,会针对具体的测试场景,演示不同的解决方案。 框架设计 若想实现上述特点,一定要有一个合理的架构设计。 mock server 架构设计:

框架的设计主要分为五个部分: 客户端

  • 客户端主要负责与 mock 服务的交互,由测试人员制定 mock 的请求响应规则,以及启动/停止 mock 服务。

代理

  • 负责请求和响应的收发,接收到请求后,先转发给 Mock 引擎,mock 引擎收到请求响应数据进行处理后,再返回给代理响应信息,代理给服务器返回模拟的响应值。

协议(protocol)

  • 不同的协议的请求、响应数据格式往往不相同,既有标准的 json 结构体,也有二进制或十六进制的数据类型。这部分数据需要在协议层进行处理之后,才好进行相关的逻辑处理。所以协议层(protocol)主要负责和协议相关的数据处理。
  • protocol 还具备很强的很拓展性,如果一个系统涉及到了多协议的 mock,测试人员可以给不同的协议指定不同的规则,以此达到多协议 mock 的作用。具体的使用会在后面的章节进行演示。

Mock引擎

  • mock 逻辑的驱动引擎,根据不同功能模块的请求,分发给 mock 服务的对应的实现接口。

后台服务

  • 提供与 mock 服务交互的对外接口。

设计优点

  • 提供了后台服务接口,测试人员添加规则、控制 mock 服务更加灵活
  • 定制化更强,内置支持根据索引、消耗、mock 后添加动作等操作
  • 通过切换不同的 protocol 与代理服务,即可实现多协议的支持,扩展性强 mock server 框架就先介绍这些,后面将会演示 mock server 的使用流程哦。

更多资料

相关推荐
全栈前端老曹34 分钟前
【前端路由】React Router 权限路由控制 - 登录验证、私有路由封装、高阶组件实现路由守卫
前端·javascript·react.js·前端框架·react-router·前端路由·权限路由
Amumu121381 小时前
React应用
前端·react.js·前端框架
Mr -老鬼3 小时前
前端框架横向对比:结合后端支持的实践选型指南
前端框架
aPurpleBerry3 小时前
React Hooks(数据驱动、副作用、状态传递、状态派生)
前端·react.js·前端框架
Allen_LVyingbo4 小时前
病历生成与质控编码的工程化范式研究:从模型驱动到系统治理的范式转变
前端·javascript·算法·前端框架·知识图谱·健康医疗·easyui
OEC小胖胖1 天前
05|从 `SuspenseException` 到 `retryTimedOutBoundary`:Suspense 的 Ping 与 Retry 机制
前端·前端框架·react·开源库
Eadia1 天前
React基础框架搭建10-webpack配置:react+router+redux+axios+Tailwind+webpack
react.js·架构·前端框架
ProgramHan1 天前
React 19 新特性深度解析:告别 useEffect 的时代
前端·react.js·前端框架
晴殇i2 天前
package.json 中的 dependencies 与 devDependencies:深度解析
前端·设计模式·前端框架
IT=>小脑虎2 天前
2026版 React 零基础小白进阶知识点【衔接基础·企业级实战】
前端·react.js·前端框架