測試服務器搭建系統,Moco 0.8 發布

jopen 11年前發布 | 9K 次閱讀 Moco

Moco是一個可以輕松搭建測試服務器的框架/工具/程序庫。

Moco在程序庫設計包括兩個方面,如何設置服務器和如何讓服務器運行起來。

先說簡單的,如何讓服務器運行。最簡單的選擇是讓用戶自己啟動服務器,然后,在測試結束之后關閉服務器。


我很高興地宣布,Moco第二個正式版本0.8發布了。

Moco是什么?

Moco是一個可以輕松搭建測試服務器的框架/工具/程序庫。

特性變更

本次發布有一個重大的新特性,支持工程配置文件(Global Settings)。

我們可以通過它,將一個復雜的Moco配置文件分解成多個配置,然后,通過這個配置文件將它整合起來:

[
   {
       "include" : "foo.json"
   },
   {
       "include" : "bar.json"
   }
]  
(settings.json)

這個配置文件還支持幾個不同的選項,讓我們在開發時有更靈活的變化:

  • 支持Context:我們可以把不同的服務,部署到不同的context路徑下,實現由一個Moco服務器,模擬多個服務。
  • 支持File Root:我們可以配置文件根目錄,這樣一來,每個具體配置文件內,所有與文件相關的路徑都可以寫成相對路徑。
  • 支持Environment:通過指定環境變量,同一套配置在不同的環境下,由不同的部分起作用,這樣就可以開發代碼無需任何調整,就可以得到不同的效果。

本次還包含一些API的變化:

  • Proxy:可以將請求(包括請求的所有信息,比如內容、頭燈)轉發給另一個服務器,還可以通過配置failover文件,用以故障恢復,在遠程 服務器失敗,無法返回時,從failover文件中提取請求內容進行返回。目前failover文件是JSON格式,可以手工編輯。
  • JSONPath:請求內容按照JSONPath進行匹配。
  • with:在API上增加with,用以進行Resource到ResponseHandler的適配。
  • 移除url:用Proxy代替。
  • 移除cache:用failover代替。
  • 移除content:用with代替。

本次發布還有一個實驗性的新特性:模板,用以根據請求定制應答。目前包含有

  • 請求版本:${req.version}
  • 請求方法:${req.method}
  • 查詢參數:${req.queries['foo']}
  • 請求頭部:${req.headers['foo']}
  • 請求內容:${req.content}

這個特性還在進一步探索中,歡迎反饋各種問題。

感謝

感謝nezhazheng,為Moco貢獻JSONPath實現。


本文轉載自: http://dreamhead.blogbus.com/logs/234825717.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!