首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >推荐一款数据mock框架,无需任何依赖,贼牛逼

推荐一款数据mock框架,无需任何依赖,贼牛逼

作者头像
猿天地
发布2022-05-05 16:12:56
发布2022-05-05 16:12:56
6940
举报
文章被收录于专栏:猿天地猿天地

fox-mock 是基于Java Agent实现的自测,联调Mock利器。

能解决你的这些问题:

  • 开发过程中,依赖了下游多个接口,想跑个单测都必须得等下游把服务部署好
  • 联调过程中,下游某个接口出问题,阻塞了整个流程
  • 其他需要Mock方法返回值的场景

最大的优点:

  • 无侵入式的Mock解决方案,支持应用启动前挂载和应用启动后attach挂载。
  • 支持本地文件mock
  • 支持对接配置中心管理mock数据

Github地址:https://github.com/yinjihuan/fox-mock

觉得不错的记得Star下,下面介绍下具体如何使用。

下载包

下载fox-mock包,fox-mock 支持在 Linux/Unix/Mac 等平台上一键下载,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可:

代码语言:javascript
复制
curl -L http://file.cxytiandi.com/install.sh | sh

如果是Windows可以自行通过 http://file.cxytiandi.com/foxmock.zip 进行下载,浏览器访问即可。

下载完成后会在当前目录有一个foxmock的文件夹,文件夹里面包含了fox-mock的包。文件夹内容如下:

  • fox-mock-agent-${version}.jar 核心代码
  • fox-mock-boot-jar-with-dependencies.jar attach启动程序
  • agent.properties 配置文件
  • start.sh attach启动脚本

agent启动挂载使用

在服务器上,需要在程序启动参数中添加下面的参数:

代码语言:javascript
复制
java -javaagent:fox-mock包的路径/fox-mock-agent-${version}.jar=foxMockFilePath=mock数据文件的路径 -jar 你的jar

如果是在开发工具中,也需要将-javaagent加入到启动类的vm options中。

接下来就是要创建mock文件了,mock数据文件格式为方法的全路径,格式为com.xx.xxService#getName

在IDEA中直接选中方法单击右键,选中Copy Reference即可,这个就是mock的文件名。

文件内容就是这个方法要返回的数据,基本类型直接写内容即可。如果是对象需要用json格式。可以参考fox-mock-example中的mockdata文件夹下的示列。

attach挂载使用

进入到下载好的文件夹中,执行./start.sh,执行之前请确保存在JAVA_HOME的环境变量。

执行之后会提示选择要attach的进程ID, 输入数字按回车即可。然后就完成了mock动作。

attach之前需要将mock的文件路径在agent.properties中指定。

总结

我相信大家之前都用过一些mock框架,比如Mockito之类的,确实在自测的过程中有些场景是需要mock数据来完成。比如你用Mockito其实还得写代码来完成mock操作,还需要在项目中依赖jar包。但是fox-mock是不需要依赖jar包的,也不需要编写代码,只需要配置即可。

视频教程也录制了,大家可以去这个地址学习:

https://www.bilibili.com/video/BV1WS4y1h76q

点击原文直达视频地址。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载包
  • agent启动挂载使用
  • attach挂载使用
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档