基于jvm-sandbox 开发的mock服务 java方法的mock服务

Java
储坤 · 2021年01月14日 · 3988 次阅读 · 2 条评论

imock

imock 服务是基于阿里测试中间件jvm-sandbox开发的一款 mock 服务,感兴趣可以去了解一下,imock 与其他 mock 方式不一样, 是 Java 方法级别的 mock,操作就是监听指定方法,返回指定的 mock 内容

项目介绍

imock 包含 mock-module、mock-web ,mock-module 就是 jvm-sandbox 的模块,需要安装到目标应用服务器,mock-web 为 mock 服务后台,imock 是前后端分离,还有一个前端 react 项目 imcok-web

Git

使用

  • 第一步:数据初始化 https://github.com/chufusheng/imock/tree/main/bin/sql
  • 第二步:启动 mock 服务管理后台 mock-web
  • 第三步:启动前端项目 imock-web
  • 第四步:安装 mock-module(默认会安装 jvm-sandbox)
    1. 本地安装 到项目下的 bin 目录执行 install-local.sh
    2. 远程安装到目标应用 curl -s https://kunchu.oss-cn-beijing.aliyuncs.com/install-troublemaker.sh |sh
  • 第五步:配置目标应用 (有两种方式 看自己需求任意选择一个方式即可)
    1. 通过配置文件配置 进入根目录下的隐藏目录 ~/.sandbox-module/cfg 修改 mock.properties
    2. 启动目标应用时带上 java 环境变量-Dmock.host=http://127.0.0.1:8003 -Dapp.name=test -Dapp.env=test
# mock.properties 
# 心跳上报配置  当环境变量没有配置的时候使用 该配置

# mock 服务的地址和端口
mock.host=http://127.0.0.1:8003
# 标识目标应用的名称
app.name=test
# 标识目标应用的环境
app.env=test

  • 第六步:启动
    1. 通过 jps 查看 目标应用的 java 进程 比如 1234
    2. 到根目录 ~/sandbox/bin 执行 ./sandbox.sh -p 1234 cd ~ jps 通过jps找到应用的 pid 比如 pid 为 1234 ./sandbox/bin/sandbox.sh -p 1234

如果出现以下日志则安装成功

          NAMESPACE : default
            VERSION : 1.2.1
               MODE : ATTACH
        SERVER_ADDR : 0.0.0.0
        SERVER_PORT : 58441
     UNSAFE_SUPPORT : ENABLE
       SANDBOX_HOME : /Users/pro9q/sandbox/bin/..
  SYSTEM_MODULE_LIB : /Users/pro9q/sandbox/bin/../module
    USER_MODULE_LIB : /Users/pro9q/sandbox/sandbox-module;~/.sandbox-module;
SYSTEM_PROVIDER_LIB : /Users/pro9q/sandbox/bin/../provider
 EVENT_POOL_SUPPORT : DISABLE

image

image

评论列表
大胡子 发表于 2021年06月04日

你好,我试用了一下,
发现将服务冻结、或者将配置的状态暂停后,mock 还是会继续生效。

储坤 发表于 2021年01月14日

欢迎大家提意见