2013-11-25 64 views
3

我正在尋找一個簡單的框架,它能夠模擬特定URL的JSON響應,並因此啓動內存中的服務器。例如。該框架可以啓動一個node.js服務器或類似的。在junit測試運行時模擬一個物理web服務器

由於單元測試針對外部應用程序(使用硒)運行,因此我需要物理服務器,並且此應用程序對JSON接口有依賴性。應用程序本身是在模擬器內部運行的iPhone-App,並與REST接口通信。

是否有一個現有的框架或什麼是最好的方法,因爲我需要用jUnit執行測試。

回答

3

您可以啓動一個存根服務器,因爲您可以在客戶端應用程序中配置JSON URL。

有在看,例如:

你可以開始在預integrationtest階段,這些在你的Maven構建和關閉它們在整合後測試階段。

+0

這看起來很完美。是否有可能動態配置JSON響應,即每個代碼?我只是簡短地看了一眼,不能立即想出來。 – Chris

+0

您可以編寫回復腳本,例如Moco可以查看API:https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md - 當然,您不會放置太多的邏輯在那裏或你有風險重新編寫你的服務。 – Thomas

+0

非常有用,謝謝。 – Chris

0

您可以使用npm包stubby-db。你需要做的是;

  1. 安裝:npm install stubby-db -g
  2. Mapping:創建一個請求響應映射這是相當容易的。指定具有JSON響應的響應文件的路徑。
  3. 運行存根服務器:stubbydb

這就是全部。但是,因爲您只是想爲您的單元測試運行它,而不需要太多的性能,所以您還可以使用wiremock。它從內部開始,你永遠不會覺得你正在運行一個外部應用程序。