扫码阅读
手机扫码阅读

配置Mountebank环境

227 2023-08-22

最近在项目中遇到一些场景,例如我们要调用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测试使用。

参考引用

  • http://www.mbtest.org/

原文链接: https://mp.weixin.qq.com/s?__biz=MzkxMTEyNjAyNg==&mid=2247484327&idx=2&sn=62367c1c6c46583a6d148d9be40d69e6