1.发现一个宝
Jvm Sandbox和Repeater已经实践完了, 和朋友聊天说起一个个人的开源iMock平台, 有点意思, 随fork到本地研究一二.
翻看了项目代码, mock底层还是用的sandbox, 直接在项目中引用sandbox核心子项目mock-module, 然后iMock平台中搭建自己的后台服务, 提供给前端web mock使用, 可自定义配置通过web存入后端链接sql, 有一定复用性, 有点意思, 以下是本地搭建上手过程.
2.门脸儿很重要
没有前端的项目, 操作起来是很痛苦的, 尤其在这种需要具体操作到项目方法级别的用例.步骤如下:
-
安装Node 环境
-
下载项目https://github.com/WillingSasi/imock-web.git
-
进入项目 /src/config 配置后台地址
-
进入项目 运行 yarn install (需要安装yarn npm install yarn)
-
启动 运行 yarn start
1 2 3 4 5 6 7 8
const config = { "appCode": "", "pageTitle": "", "service": "", "backendMap": { "test": "http://127.0.0.1:8003" }, }
成功如图:


3.后端服务
后端项目两大部分, imock后端服务部分, 和sandbox部分,
下载项目https://github.com/WillingSasi/imock.git
- imock后端服务:
1.数据初始化, 就是用来存储mock配置的数据库, sql表单格式[bin/sql/], sql地址我配置的TX买的云数据库地址

2.启动mock-web springboot start
1
2021-09-07 18:00:00.075 INFO 24386 --- [ scheduling-1] com.tester.jvm.mock.task.AppTask : ====== heartbeatTask 任务开始 ======
- sandbox:
1. 安装mock-module(默认会安装jvm-sandbox)
2.本地安装 到项目下的bin目录执行 install-local.sh
3.Mac的默认安装路径就是~/sandbox/, 配置文件~/.sandbox-module/
4.~/.sandbox-module/cfg 修改mock.properties
1
2
3
4
5
6
7
8
# 心跳上报配置 当环境变量没有配置的时候使用 该配置
# mock 服务的地址和端口
mock.host=http://127.0.0.1:8003
# 标识目标应用的名称
app.name=demoOne
# 标识目标应用的环境
app.env=demoOne
-
目标服务配置:
1.本地简单的springboot项目:
1 2 3 4 5 6 7 8 9 10 11 12
```java @RequestMapping("/sendMq") public String sendMq() { // produceService.directSend("test"); System.out.println(sandboxMessage("httpMessage")); return "Test Successful!"; } public String sandboxMessage(String sandboxMessage) { return sandboxMessage; } ```2.启动参数加上环境参数等配置后启动
1
-Dmock.host=http://127.0.0.1:8003 -Dapp.name=demoOne -Dapp.env=demoOne

4.使用mock
-
新增配置, 相当于sandbox中的挂载

-
更新配置, 相当于sandbox中的激活

-
console中说明已成功
