Mock服务实现的几种思路(持续更新)

本文探讨了在对接三方服务时如何使用Mock技术进行接口模拟,包括直接模拟接口、涉及数据库操作的接口处理以及RPC服务的拦截与切面处理。举例介绍了在银行产品接入中的数据适配和线程管理策略。Mock常见于无法控制第三方返回、依赖系统未完成、不允许重复请求或有访问限制的场景,以保证测试的顺利进行。

一、直接对三方的Mock

这种方式其实也是最简单的方式,搭建一个spring工程,实现对对应接口的模拟。采用postman等工具其实也可以实现简单的对三方模拟,最好的方式是返回结果可以写在数据库中,本质就是根据请求的参数返回指定的结果。

几种常用方式:保证数据库值的有效性,信息扭转过程中的有效性。

  • 参数来自数据库
  • 值来自数据库
  • 请求原代码中的接口等等

二、接口但是涉及到落库

其实在很多自动化代码中也会遇见过类似场景,通常实现方式无非对数据的操作与服务代码的调用。

三、RPC服务相关

通过filter拦截,在方法做切面时设置参数

切面参数用到ThreadLocal(做线程参数的副本)
用到
比如对接理财银行产品接入:

  • 每家银行的数据类型不相同,因此对接不同银行要做数据适配
  • 涉及到如trade、assert、account、bridge等等服务,最外层可以采用bridge进行统一封装对接
  • 每一次请求如一个线程,所以可以对线程赋值,采用ThreadLocal统一管理(保存线程中值的副本,相互请求资源隔离)
  • 底层操作,不涉及银行方面,则可以采用统一的服务,如账户管理、交易管理、资产付息管理等等
  • 所以整体mock可以考虑在bridge层展开。

在bridge展开过程中

  • 建立一个元素切面如:ParamCacheAspect,保存如渠道Supplier、方法Method、名字name
  • 在通过供应商路由:XXXAccountFacade
  • XXXApiManage
  • 到invoke的动态代理
  • 通过SOFA Filter的过滤器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂点engineer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值