最近在项目中遇到一些场景,例如我们要调用Zoom的API代替用户自动订阅会议并发送通知给参与人。也有调用SMTP服务进行邮件发送,还有第三方支付系统进行支付。这些场景在只是功能开发的个别调用的时候,可以使用真实的系统,或者第三方提供的测试系统进行调试开发。但是当API有限流限制,例如Zoom API 单日单账户只能创建100个会议。再或者如果你希望进行性能测试的时候,不太可能频繁调用第三方接口,设想一下调用支付的场景。那将是个灾难。
这里推荐一下打桩服务——Mountebank。如果想了解Mountebank是一个什么工具,作用有哪些,可以参考我这个系列的第一篇文章《什么是打桩服务》,这篇文章我介绍一下Mountebank的各个具体功能的使用和作用。本文说明的是如何快速搭建服务环境。毕竟如何搭建这个工具,能快速使用起来是尝试的第一步。
本机安装方法
本机安装mountebank server有几种方式:
- npm 安装
就是直接在本机的环境通过npm安装。如下是脚本。
npm install -g mountebank
- docker安装
如果你想保持本机环境的清洁,那也可以使用容器。通过docker来运行。mountebank的作者提供了docker镜像,可以通过docker hub下载并运行。下面是脚本。
docker pull bbyars/mountebank
启动服务
安装完成后,最简单的方式就是启动一下,看是否打出正确的日志。针对安装方式有如下几种启动方式:
- npx 启动
npx mb start
- 容器启动
docker run --rm bbyars/mountebank mb start
正常启动后都会在屏幕打印一条记录:
info: [mb:2525] mountebank v2.6.0 now taking orders - point your browser to http://localhost:2525/ for help
2525是mountebank默认服务管理界面和API的端口。如果和你的机器有冲突,或者你希望用一个更喜欢的端口号,你可以通过启动命令修改:
mb start --port 3333
退出服务
当然最简单的是关闭容器,不过可以通过命令来操作关闭那咱们就用优雅的方式吧。命令都是:mb stop
- 如果是npm方式那么可以
npx mb stop
- docker容器
docker exec -it [containerID] /bin/sh /app $ mb stop
当屏幕提示如下记录时,说明已经推出了。
info: [mb:2525] Adios - see you soon?
好了,很简单的一个单机环境搭建好了,下一篇我们将开始使用最简单的打桩服务来提供API测试使用。