為什么要進(jìn)行快照測試?
開發(fā)人員努力在不引入視覺回歸錯誤的情況下,準(zhǔn)確地按照設(shè)計人員在不同情況下的計劃來實施更改。為了達(dá)到這一點(diǎn),他們經(jīng)常使用快照測試來記錄視圖的圖像,然后將該視圖與記錄的快照進(jìn)行比較,看看是否存在差異或失敗。
眾所周知,UI 功能測試需要花費(fèi)大量精力和資源來設(shè)計和實現(xiàn)測試自動化框架??煺諟y試只需要在項目中添加工具或框架,然后您就可以開始實施測試了。
快照測試的優(yōu)勢
快照測試非常適合驗證頻繁更改的行為,例如 iOS 應(yīng)用程序用戶界面,尤其是 SwiftUI 視圖。讓我們討論一下快照測試的優(yōu)點(diǎn):
檢查外觀差異。
確定發(fā)生了什么變化。
確認(rèn)用戶看到的內(nèi)容。
快照測試如何工作?
快照測試用例采用已配置的UIView或CALayer并使用必要的UIKit或核心動畫方法來生成其內(nèi)容的圖像快照 - 否則在幕后。SwiftUI使用了這些類:它將此快照與存儲在源代碼存儲庫中的參考圖像進(jìn)行比較,如果兩個圖像不匹配,則測試失敗。