fox-mock 是基于Java Agent实现的自测,联调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的包。文件夹内容如下:
在服务器上,需要在程序启动参数中添加下面的参数:
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文件夹下的示列。
进入到下载好的文件夹中,执行./start.sh,执行之前请确保存在JAVA_HOME的环境变量。
执行之后会提示选择要attach的进程ID, 输入数字按回车即可。然后就完成了mock动作。
attach之前需要将mock的文件路径在agent.properties中指定。
我相信大家之前都用过一些mock框架,比如Mockito之类的,确实在自测的过程中有些场景是需要mock数据来完成。比如你用Mockito其实还得写代码来完成mock操作,还需要在项目中依赖jar包。但是fox-mock是不需要依赖jar包的,也不需要编写代码,只需要配置即可。