Swift 程式開發有用到 iOS 系統的 Singletons API 要如何測試?

前一陣子 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 ,這篇文章提出了三個步驟 ( 文章中作者有詳細使用範例程式示範 ) 

  1. Abstract into a protocol
  2. Use the protocol with the singleton as the default
  3. 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 單元測試程式應該很有幫助。

也許你會有興趣

喜歡這樣的內容嗎?歡迎點以下按鈕分享吧~感謝你的支持!

 

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: