在 Swift 5.5 引入了 async await 這個功能,讓我們可以更方便地處理非同步的任務。async await 可以讓我們用同步的方式寫出非同步的...
上一篇的 URLSessionProtocolMock 沒有處理到錯誤,這一篇加上 error 的 testing。 step1: URLSessionProt...
上一篇講 Error handling 是指 Error 在 URLSession 時發生,可能是 4 開頭或 5 開頭的 Error。但有另一種可能,後端 H...
啟動 Unit Test 的時候,到底發生了什麼事情? 當每一次跑測試的時候,在 mac 上的 Xcode 大概都做了這些事情 1 - 啟動 macOS 上的模...
前面的文章,都沒有提到 UI 元件的 Unit testing。請注意這裡指的是 Unit testing,並非 UI testing。這個專案使用了 Swif...
在 SwiftUI 的框架下,建議使用 Apple 文件上寫的資料流。Action → State → View。讓資料的流動為單一方向,並讓 SwiftUI...
下方是待測的 SwiftUI View 待測項目 如果 TextField 為空值, displayTitle 為 “請輸入文字” 如果 TextField...
要測試 TextField 的 binding,先建立一個 MemoInputData 並讓這個物件 conform ObservableObject step...
SwiftUI 的 View 測試完了,接下來繼續進行 UIViewController 的測試 測試 Storyboard 產的 UIViewControll...
這個系列的主題是在 iOS 專案的測試,在這一篇提一下測試的覆蓋率。 寫在前面 不要把目標定為測試覆蓋率 100%,也不要把測試覆蓋率與積效掛勾 不要把目標定為...