mountebank安裝、啟動

最近想要找一款可以提供假接口數(shù)據(jù)的軟件,以便在開發(fā)時提供給前端和移動端使用,這樣前端的任務就可以和后端一起開發(fā),甚至可以提前開發(fā)。正好mountebank進入了視線,這里記錄下學習過程,并準備在工作中使用。

安裝

1. node安裝

node的版本需要在4以上

npm install -g mountebank

運行

mb

加載配置文件啟動

mb start --configfile ./imposters.ejs

imposters.ejs是配置文件,用來配置模擬的請求的返回值。

注意:配置文件更新后,需需要重啟命令,暫時未找到熱更新方法

2. 使用docker-compose

安裝docker, 新建一個目錄創(chuàng)建docker-compose.yaml文件,添加一下內(nèi)容

version: "2"
services:
  mountebank:
    image: expert360/mountebank
    volumes:
     - ./imposters/:/imposters
    ports:
     - 2525:2525
     - 4545:4545
     - 4646:4646
     - 5555:5555
     - 52602:52602
    entrypoint:
     - mb
     - start
     - --configfile
     - /imposters/imposters.ejs
     - --allowInjection

說明:

  • volumes : 掛載目錄,./imposters 當前目錄的imposters映射到容器里的/imposters
  • ports : 端口映射

啟動:

docker-compose up

注意:修改了mountebank的文件必須重啟容器,目前沒有找到熱加載的方法

模擬請求

官方示例

imposters.ejs

{
  "port": 4545,
  "protocol": "http",
  "stubs": [{
    "responses": [
      { "is": { "statusCode": 400 }}
    ],
    "predicates": [{
      "and": [
        {
          "equals": {
            "path": "/test",
            "method": "POST",
            "headers": { "Content-Type": "application/json" }
          }
        },
        {
          "not": {
            "contains": { "body": "requiredField" },
            "caseSensitive": true
          }
        }
      ]
    }]
  }]
}

啟動命令如上節(jié),mb start --configfile ./imposters.ejs。

模擬請求1

請求

curl -i -X POST -H 'Content-Type: application/json' http://localhost:4545/test --data '{"optionalField": true}'

結果

HTTP/1.1 400 Bad Request
Connection: close
Date: Wed, 28 Feb 2018 08:02:47 GMT
Transfer-Encoding: chunked

模擬請求2

請求

curl -i -X POST http://localhost:4545/test --data '{"optionalField": true}'

結果

HTTP/1.1 200 OK
Connection: close
Date: Wed, 28 Feb 2018 08:02:55 GMT
Transfer-Encoding: chunked

出現(xiàn)相似的結果則說明配置正確。

配置說明

這里對imposter的主要配置項進行簡單的說明,讓大家對配置有一個整體的了解。

  • port

    該imposter的監(jiān)聽端口。目前發(fā)現(xiàn)兩個imposter的監(jiān)聽端口不能重復,否則會有一個imposter的配置加載不上

  • protocol

    協(xié)議,mountebank支持多種協(xié)議包括:http, https, tcp, smtp。

  • stubs

    模擬請求響應(response)的配置集合。該配置包含了模擬請求的接收條件和響應結果。

    • predicates

      請求斷言。用來斷言請求是否被改stub接收。

    • responses

      請求相應。斷言判斷成功后對請求的響應結果。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評論 19 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,285評論 6 342
  • 瑪麗蓮夢露她正在看著我,她迷離的眼神,性感的嘴唇。 這些天,她一直這樣若有若無得望著我,而我一直沒察覺,似乎存在的...
    王錦佳閱讀 255評論 0 0
  • 今天住在日本京都的朋友高先生在朋友圈發(fā)了一組照片,說他家的狗狗“茶瑪”咬爛了家里的古董—犬戲蜂蝶俺戲犬,犬猜不知吾...
    潔蕓閱讀 919評論 2 2

友情鏈接更多精彩內(nèi)容