推荐一款数据mock框架,无需任何依赖,贼牛逼
fox-mock 是基于Java Agent实现的自测,联调Mock利器。能解决你的这些问题:
- 开发过程中,依赖了下游多个接口,想跑个单测都必须得等下游把服务部署好
- 联调过程中,下游某个接口出问题,阻塞了整个流程
- 其他需要Mock方法返回值的场景
最大的优点:
- 无侵入式的Mock解决方案,支持应用启动前挂载和应用启动后attach挂载。
- 支持本地文件mock
- 支持对接配置中心管理mock数据
Github地址:https://github.com/yinjihuan/fox-mock
使用视频讲解:https://www.bilibili.com/video/BV1WS4y1h76q
觉得不错的记得Star下,下面介绍下具体如何使用。
下载包
下载fox-mock包,fox-mock 支持在 Linux/Unix/Mac 等平台上一键下载,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可:
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启动挂载使用
在服务器上,需要在程序启动参数中添加下面的参数:
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包的,也不需要编写代码,只需要配置即可。
推荐一款数据mock框架,无需任何依赖,贼牛逼的更多相关文章
- 【转】推荐10款最热门jQuery UI框架
推荐10款最热门jQuery UI框架 原创 在进行Web开发时,并非所有的库都适合你的项目,但你仍需要收藏一些Web UI设计相关的库或框架,以在你需要的时候,加快你的开发效率.本文为你推荐10款非 ...
- 推荐25款实用的 HTML5 前端框架和开发工具【下篇】
快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...
- 推荐一款技术人必备的接口测试神器:Apifox
1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色.当然除了Postma ...
- 新特性,推荐一款超强接口管理神器 Apifox
去年,在公众号给大家推荐了一款新面市不久的接口测试神器:Apifox,如果还未了解的读者,感兴趣的话可查阅原文:推荐一款技术人必备的接口测试神器:Apifox 为了照顾新进来的读者,且最近一年,Api ...
- 推荐一款全能测试开发神器:Mockoon!1分钟快速上手!
1. 说一下背景 在日常开发或者测试工作中,经常会因为下游服务不可用或者不稳定时,通过工具或者技术手段去模拟一个HTTP Server,或者模拟所需要的接口数据. 这个时候,很多人脑海里,都会想到可以 ...
- 几款主流PHP框架的优缺点评比
PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...
- 向 Web 开发人员推荐35款 JavaScript 图形图表库
图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应用和项目的可靠性. 在这篇文章中,我们收集了3 ...
- 推荐25款很棒的 HTML5 开发框架和开发工具【上篇】
HTML5 在不同的领域让网页设计更强大的.快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站 ...
- 推荐25款php中非常有用的类库
推荐25款php中非常有用的类库 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014-09-29 作为一个PHP开发者,现在是一个令人激动的时刻.每天有许许多多有用的库分发出 ...
随机推荐
- java-方法引用
/** * 方法引用格式: * 双冒号:: 引用运算符,它所在的表达式被称为方法引用.如果Lambda表达式 * 的函数方案已经存在于某个地方的实现中, * ===>那么可以通过双冒号来引用改方 ...
- APScheduler定时任务框架
1.简介 APScheduler是一个Python**定时任务框架**,提供了**基于日期**.**固定时间间隔**以及**crontab**类型的任务,并且可以**持久化任务**.基于这些功能,我们 ...
- ArrayList、LinkedList、Vector、Array
ArrayList 本质是一个数组. 优势:追加元素到数组末尾的时候速度快,同时检索元素的速度也快. 劣势:如果要插入一个元素到数组之间慢:如果要追加的元素数量多于数组的容量,则需要频繁扩容使用Arr ...
- 微信小程序中涉及虚拟产品购买,ios暂不支持的相关整理意见
这个东西呢也不能怪微信小程序,属实苹果搞的事情,那怎么小程序相关内容去通过审核呢? 首先我们要搞清楚哪些属于虚拟商品:如某某书币,某某会员,或者是提前编辑好的网课,文档等都属虚拟商品购买,简言之就是没 ...
- Python学习--21天Python基础学习之旅(Day03、Day04)
关于缩进问题,缩进几个空格都不影响程序解释(不会报错什么的),但一般缩进四个空格是为了可读性和规范. Day03: Chapter 5 1.if语句 1.1条件测试:值为True或False的表达式成 ...
- 语言算子&模糊推理
一.语言算子 语言算子分为三类: ①语气算子 ②模糊化算子 ③判定化算子 (1)语气算子 "集中化算子":--"很"."极"."非 ...
- 【二次元的CSS】—— 纯CSS3做的能换挡的电扇
这次分享的电扇,和以往用css3画人物相比 多加了一点交互,就是电扇开关的地方,用到了一点点css3的 :checked +div 这个很少用到的选择器来实现的. GitHub传送门:https:// ...
- WordPress 网站开发“微信小程序“实战(三)
本文是"WordPress 开发微信小程序"系列的第三篇,本文记录的是开发"DeveWork+"小程序1.2 版本的过程.建议先看完第一篇.第二篇再来阅读本文. ...
- Spark周总结(一)
本周学习内容: 1.搭建虚拟机Spark环境 2.idea编写Scala脚本并在yarn上运行 总结: 这周是回家第一周,虽然没啥事,但是还是想放松放松,也是万事开头难,跟着教程做,但总有几步跟教程上 ...
- 使用 IDEA 创建 SpringBoot 项目(详细介绍)+ 源码案例实现
使用 IDEA 创建 SpringBoot 项目 一.SpringBoot 案例实现源码 二.SpringBoot 相关配置 1. 快速创建 SpringBoot 项目 1.1 新建项目 1.2 填写 ...