Testing in Swift — Realm 讀書筆記

Why should we testing software?

為什麼我們要測試軟體?因為我們要提升軟體品質

測試要盡可能獨立,避免被其他因素影響,像是網路連線。Swift 可以很容易的用 Protocol Orented 方式將 HTTPClient 的介面抽象為 Protocol ,在測試環境下可以很容易的將其置換為 FakeHTTPClient ,並在其中放上測試資料。

在 iOS/Mac 也已經有了很棒的 framework 像是 Nocilla, OHHTTPStubs ,可以幫助你在測試環境下 Stub 網路回應。

而這樣的手法就是 Design Pattern 的 Adapters

不只是 Networking ,其餘像是 Logging, Analytics, Persistence 也都能透過這樣的手法將其獨立,讓測試保持單純。


Stub HTTP Client 不只能將測試獨立,更能讓 Client 開發時間提前,只要兩邊講好資料格式介面,Client 能在 API 實作之前就先介接 Mock Data 開發。