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包的,也不需要编写代码,只需要配置即可。

最新文章

  1. oracle存储过程截取字符串
  2. 【转】android 属性动画之 ObjectAnimator
  3. js判断移动终端url跳转
  4. MFC应用程序框架(转)
  5. UVa 1400 (线段树) "Ray, Pass me the dishes!"
  6. 判断线段和直线相交 POJ 3304
  7. Linux 释放cached内存
  8. jQuery获取Select选择的Text(非表单元素)和 Value(表单元素)(转)
  9. Struts2-2.了解struts.xml>package>action>result的name属性
  10. 2017/4/27-Gradle的配置与Spring的下载
  11. css中单位 px、em 的区别【转载】
  12. GitHub的Repository权限将public转为private
  13. Git - git tag - 查看当前分支 tag 版本&说明
  14. [CSL 的字符串][栈,模拟]
  15. Ubuntu下安装eclipse遇到的问题
  16. Cookie,Session,正则表达式
  17. eslint简单的规范
  18. 74(2B)Shortest Path (hdu 5636) (Floyd)
  19. os.environ() 说明
  20. UI5-文档-4.38-Accessibility

热门文章

  1. JVM调优常用参数配置
  2. 数据分析之Pandas操作
  3. 攻防世界shrine
  4. ECMAScript中有两种属性:数据属性和访问器属性。
  5. 深入理解 flex-grow & flex-shrink & flex-basis
  6. video元素和audio元素相关事件
  7. idea 提示错误: 找不到或无法加载主类
  8. Android开发小经验
  9. uniapp最简单的上拉加载更多demo
  10. mysql绿色版安装以及遇到的问题