dubbo服务接口如何mock_dubbo 接口 mock 插件

一. 插件简介

1.1 背景简介

dubbo-mock.jar插件作用是对dubbo接口的mock,通过dubbo filter + yapi(http接口管理及mock平台,可以用其他mock平台替代)两种技术的结合实现了对dubbo服务无侵入的mock方式

dubbo filter:filter是Dubbo中使用较为频繁的组件,其作用在于对所指定的请求进行过滤,功能非常类似于AOP,可以实现诸如请求过滤器和全局异常捕获器等组件

1.2 工作流程图

dubbo-mock.jar插件工作流程图如下图所示:

二. 插件使用

dubbo-mock.jar插件有两种使用方式 1.tomcat内加载调用(注意:插件需要放在调用链上游,也就是consumer端) 2.本地ide内调用,下面介绍两种方式的调用方式。

假设你要mock掉的dubbo方法接口名为InterfaceA(该方式是dubbo provider端提供),后面两种介绍方式中均已InterfaceA为例进行。

2.1 tomcat调用方式

总共分为4步,2.1.1和2.1.2为设置mock状态及构造mock响应,2.1.3和2.1.4为环境准备

2.1.1 配置dubbomock开关接口

在配置dubbomock开关之前需要先开通yapi账号

1.打开yapi接口管理平台地址 yapi测试平台专区

2.当前页面点击“高级mock”选项,进入高级mock页

3.点击当前页面中的“编辑”选项,进入如下页面

响应体内开关字段说明

status:on mock开启

status:off mock关闭

4.在Body响应中的mockmethodlist(注意接口名和响应结构体需要一致)中增加你需要mock的接口,采用约定大于配置的方式,mock接口均以:接口名+MOCK方式定义,以InterfaceA举例,应该新增InterfaceAMOCK的配置,增加后点击保存

小技巧:可以在预期内设置合理的延时时间模拟响应超时的场景

2.1.2 定义dubbomock接口

1.新建InterfaceAMOCK接口,接口名称和接口路径均为InterfaceAMOCK,访问方式选择POST,提交完成

2.在“高级mock”中新建一条期望,响应内容为该mock接口的数据结构,数据内容可以根据你想mock的结果进行修改,保存期望

2.1.3 下载插件

下载dubbo-mock.jar插件到本地,下载地址为 百度网盘 提取码:b1fj

2.1.4 上传插件

tomcat应用的上传目录为:tomcat根路径/webapps/WEB-INF/lib ,上传后重启tomcat服务

2.2 本地调用方式

IDE中增加依赖

2.重复2.1.1和2.1.2小节内容

三. 注意事项

引入或者删除mock插件,每次都需要重启tomcat应用才能生效

复杂数据结构,如结构体嵌套可能会泛型失败(目前暂无失败案例,存在可能性)

dubbo-mock.jar包需要放在调用链的上游,也就是consumer端

可以设置dubbo接口响应超时的异常场景

该插件默认访问的dubbo服务注册中心地址是xxxxx,如果需要修改可以修改jar包中的applicationContext.xml配置

插件运行成功标注是log输出,输出信息如下图所示

四. 待做功能清单

提取入参,根据入参精细化mock响应

录制dubbo请求在yapi平台存档

存档请求形成自动化用例并回放请求

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值