基于node.js构建微服务中的mock服务
2017-01-12 08:15
561 查看
缘起
由于现在微服务越来越火了,越来越多的微服务融入到了日常开发当中。在开发微服务的时候,经常会遇到一个问题由于依赖于其他服务,导致你的进度受到阻碍。使你不得不先mock出你期望调用依赖服务的输出,来继续迭代开发。大部分情况下我们写在我们自己的服务中,因为这样方便省事,但是随着需要mock的服务越来越多,会发现越来越难管理,开发重构成本变高,于是在此基础上封装了一个基于Node.js可以根据配置文件生成Mock服务。缘生
为了方便添加和删除不同的mock服务,将所有的mock服务写入了配置文件,你可以根据你所定义的配置文件生成mock服务,如下所示:{ 'PATH':'./src/mocks', 'PORT':'9001', "SERVICES":[ { "name": "authorization", "Handlers": [ { "method": "GET", "resHeader": "HTTP/1.1 200 OK", "resContent": "{ succeed: true,msg: ok }" }, { "method": "POST", "resHeader": "HTTP/1.1 200 OK", "resContent": "{ succeed: true,msg: ok }" }, { "method": "GET--a=b.mock", "resHeader": "HTTP/1.1 200 OK", "resContent": "{ succeed: true,msg: ok }" } ] } ] }
Options:
methodRequest Method
GET--a=b.mockRequest GET /hello?a=b
resHeaderResponse Header
resContentResponse Content
npm run mockGenerate Mock Server
npm run cleanClean Mock Server
配置文件中的PATH是你存放的所有mock服务文件夹,填入请求的方式,以及期望的访问的HTTP状态和返回值。启动mock服务器,一个简单的mock服务就生成了。修改文件配置以后,可以清理生成的mock服务重新生成。
项目结构
启动截图
生成成功
清理截图
项目地址
node-mock-factory相关文章推荐
- Secondary Namenode - What it really do?
- Zipkin-1.19.0学习系列15:Nodejs范例(Server Received,Server Sent)
- leetcode 19. Remove Nth Node From End of List
- 七(1).DOM的核心对象:Node 分析
- dom系列:Node操作
- js-Node对象属性
- Document对象,Element对象和Node对象简介
- JavaScript HTML DOM节点类型之Node类型介绍
- 对javascriptn commonjs 和nodejs 的浅认识
- nodeValue、value和innerHTML的区别
- elasticsearch ingest node
- web前端之了解node四:事件循环、EventEmitter
- 237. Delete Node in a Linked List
- 监听DOM操作事件
- Hdfs上传文件dataNode无法启动
- 安装nodejs相关
- 【JavaScript 学习--06】Nodejs之如何调用 python脚本
- Node.js 常用工具 util
- 创建Node.js 的npm应用模块
- 解决启动hadoop时datanode无法启动