CatMock

CatMock 是一个mock.js的 Java 封装库。使用 JDK 自带的 js 脚本引擎直接调用 mock.js 脚本,实现对 mock.js 的统一。

为什么采用这样的方案?

在开发互联网应用时,前后端在开发前使用接口管理平台设计接口。市面上常见的接口管理平台大部分使用了 Mock.js 作为虚拟接口和接口测试的工具。

设计接口时,接口的定义是项目的重要资产。Mock.js 能很好地完成后端接口的单元测试。但后端在 CI/CD 进行集成测试时,往往需要自行编写测试用例,需要使用其它方式生成虚拟数据,无法复用接口设计阶段的项目资产。

于是开始尝试使用纯 Java 编写一个兼容 Mock.js 语法的 Mock 工具:为了实现拓展自定义函数的功能,曾设计使用 Java 的 Function 接口对象作为用户自定义传入的函数来使用,但最后放弃了这一想法,因为写工具的初衷在于复用接口设计阶段的项目资产,而 Function 需要后端重新编写。

最后,选择在 Java 中使用 Java 内置的 JavaScript 引擎直接调用 mock.js ,这样能保证和 mock.js 统一,保证接口设计阶段的项目资产能被复用。

Maven

cn.myzju.mock

CatMock

1.0.1

使用说明

获取 CatMock 对象

//使用内置的 mock.js 文件初始化

CatMock catMock = new CatMock();

//使用外置的 mock.js 文件进行初始化

CatMock catMock = new CatMock(new FileReader("{path}/mock.js"));

Random

传入参数:function或function('args'),返回类型为 String

catMock.random("string"); //

Java mock客户端数据_CatMock: Java 下使用 mock.js 生成虚拟数据相关推荐

  1. java多客户端聊天程序,java – 多客户端聊天程序,向所有客户端广播聊天?

    我正在尝试制作一个可以容纳多个客户端的非常简单的聊天程序.我有一个多线程服务器,可以连接多个客户端,但服务器只与单个客户端通信(因为它应该,每个客户端都在自己的线程上)我需要帮助让服务器发送来自所有连 ...

  2. select weui 动态加载数据_weui中的picker使用js进行动态绑定数据问题

    解决方案; picker和Select组件是通过input标签绑定,可以先通过input的父级元素移除input标签,重新插入input标签,最后重新初始化picker或Select组件. 性别 js ...

  3. Faker 一个生成虚拟数据的Python模块

    ↑ 点击上方 "一行数据" 关注 + 星标 ~ 每周送书,绝不错过 不会爬虫,没有数据怎么来练习,上次行哥给大家分享过数据集网站,有兴趣的可以看一下 Python学习十大公开免费数 ...

  4. faker生成器生成虚拟数据的Python模块

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:行哥 今天给大家介绍一个Faker模块,一款基于Python的测试数 ...

  5. ef 数据迁移mysql_Windows下重装xampp并做MySQL数据迁移的步骤

    背景 因为windows系统升级,导致原来安装的xampp的文件目录损坏,造成了xampp无法启动,需要重新安装xampp来解决服务器重启以及数据库的转移 转移步骤 假设原来的xampp安装目录为D: ...

  6. linux 监听数据包,linux下网络监听与发送数据包的方法(即libpcap、libnet两种类库的使用方法)...

    linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包 安装: 在命令行下apt-get install 就可以了 libpcap的使用: /*author hjj ...

  7. asyncdata 获取参数_载入页面初始数据(asyncData)《 Nuxt.js:异步数据 》

    载入页面组件之前,会调用 asyncData 这个方法,你可以在这个方法里请求页面的初始数据.比如在 posts/index.vue 这个组件里面 .. 先添加一组 script .. 在默认导出的东 ...

  8. Excel自动化办公(一) | 满足你对Excel数据的所有幻想,python-office一键生成模拟数据

    自从在官网发布了python-office这个专门用来自动化办公的库,后台经常收到提问:晚枫,什么时候开发Excel功能呀? 今天Excel自动化办公的第一个功能上线了:自动生成带有模拟数据的Exce ...

  9. 大数据学习总结+JAVA学习总结+大数据面试+java面试+大数据java异常总结

    文章目录 一.java模块面试问题 1.动态代理 2.浏览器禁用Cookie后的Session处理 3.主从复制的流程[重要] 5.redis的数据类型[重要] 6.Junit测试的注解 7.缓存问题 ...

最新文章

  1. 脱壳实践之手动构造输入表
  2. jquery validate 插件:(2)简单示例
  3. Qt-QMessageBox用法详解
  4. Git在版本2.13中继续改进了安全性和UI
  5. 云计算开发学习笔记:Python3迭代器与生成器
  6. 怎样选择mysql的版本升级_mysql版本升级
  7. 阶段3 2.Spring_03.Spring的 IOC 和 DI_4 ApplicationContext的三个实现类
  8. SqlDataReader.GetFloat出错,类型无法转换
  9. python行业中性_燃爆!17行Python代码做情感分析?你也可以的
  10. InnoSetup 如何获取安装程序的路径?
  11. Dreamweaver简单的表格附加代码
  12. 阿里云maven仓库地址
  13. Python字符串逆序输出(六种方法)
  14. 愿天下有情人都是失散多年的兄妹 (25 分)
  15. 商业模式新生代_【骆新荐书】商业模式新生代
  16. 弱电时间同步系统(卫星同步时钟)医院学校标准时钟系统建设的意义
  17. 如何修改视频尺寸而不让画面变形?
  18. 探寻Beacon技术
  19. BZOJ 2140 稳定婚姻题解
  20. 第三讲使用VPB切割和加载

热门文章

  1. 杰理之设置立体声输出,播左右声道歌曲后DAC没有声音或声音变小【篇】
  2. 北京大兴计算机学校排名2015,北京大兴区小学排名
  3. 如何填写项目商业论证
  4. Janus http处理流程
  5. JavaScript的案例---寻找两个数最大公约数
  6. java-net-php-python-java图书管理系统计算机毕业设计程序
  7. 网易严选商城小程序全栈开发,域名备案中近期上线(mpvue+koa2+mysql)
  8. python 群和群之间的自动转发功能
  9. 知识分享-商业数据分析业务全流程
  10. Qt:libpng warning: iCCP: known incorrect sRGB profile