前一陣子 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 單元測試程式應該很有幫助。

也許你會有興趣

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

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類

未分類