Contents
前一陣子 Packt 有出一本免費的電子書 – Test-Driven iOS Development with Swift ,對於 iOS 開發者要學習如何開發 Unit test 應該很有幫助,這篇文章 – Testing Swift code that uses system singletons in 3 easy steps 則在講如果你的 class function 中用到了系統提供的 Singletons 函數呼叫要如何測試? 尤其是那些跟網路有關的 Singletons 例如 URLSession.shared ,這篇文章提出了三個步驟 ( 文章中作者有詳細使用範例程式示範 )
- Abstract into a protocol
- Use the protocol with the singleton as the default
- Mock the protocol in your tests
看完的感覺不就是在教你如何在 Swift 寫 Mock ( 遇到網路 API 的測試,就會使用 Mock,想要對 Mock 有更多的了解,可以參考 維基百科 ) ,重點應該不是因為呼叫了系統的 Singletons ,如果跟網路無關的 Singletons API 也是要這樣做嗎? 有一種可能是系統的 Singletons api 會影響到APP 的狀態,例如會設定 Default 值的 Singletons ,你無法去控制回傳的值是什麼,或是每次測試做完,要記得回復原本的狀態,這種狀況還是得用 Mock 比較方便。
這篇文章作者還有分享一個視訊 “Writing Swift code with great testability” 對於想要學好 Swift 單元測試程式應該很有幫助。
也許你會有興趣
- iOS 10 自動化測試課程 學習使用 XCTest API & Jenkins integration
- 更多 iOS 相關線上課程
喜歡這樣的內容嗎?歡迎點以下按鈕分享吧~感謝你的支持!