發表文章

目前顯示的是 八月, 2017的文章

Mock Server&契約測試

圖片
Mock Server&契約測試這篇文章會介紹如何運用 Mock Server 和 Integration Contract Test(契約測試)解決一些在前後端分離的開發環境底下會碰到的問題。大綱如下:什麼是 Mock Server?為什麼需要 Mock Server?如何使用 Mock Server?什麼是契約測試?為什麼需要契約測試?什麼是 Mock Server?下圖是傳統的前後端分離架構:當後端 API 還沒開發完成的時候,前端會需要一個可以暫時回應假資料(mock data)的 mock server,如下圖:等到後端的 API 開發完成之後,前端只需要將 API endpoint 從 mock server 切回 remote server 就可以使用真實資料,如下圖:為什麼需要 Mock Server?一句話,因為有了 Mock Server 之後,前後端就能夠並行開發。如何使用 Mock Server?這裡會介紹兩種方法:Postman Mock ServicePuer Mock ServerPostman Mock ServicePostman 是前後端在開發上很常用到的一款 HTTP Client 應用程式,主要是拿來測試 API,除了有好用的 Collection Test Runner 之外(詳見《基於 Postman 的 API 自動化測試》),其實 Postman 還有提供 Mock Service 的功能,大致流程如下:送出一個 request(R1)儲存 R1 至 Collection(C1)編輯 R1 的 response,儲存成為一個 example(P1)建立一個 C1 的 Mock Server(M1)再次向 M1 送出 R1,即會收到格式為 P1 的 response詳細操作方法請見官方教學文章《Mocking with examples》。但是使用 Postman Mock Service 會碰到一個問題,雖然 Postman 可以同時 mock 多筆 API,但是一個頁面可能會同時存在「需要 mock 的 API」和「後端已經寫好的 API」。Puer Mock Server為了解決上面碰到的問題,找到了這個 open-source 的 mock server:puer-mock。它可以將沒有 mock 的 API …

這個網誌中的熱門文章

DevOps:持續整合&持續交付(Docker、CircleCI、AWS)

Factory pattern 工廠模式

swfobject - 網頁輕鬆嵌入Flash