iOS开发中的快照测试与代码重构
1. 快照测试
1.1 版本一致性与更新
进行快照测试时,可在自定义 FBSnapshotTestCase 子类的 setUp 方法中确保所有快照使用单一的 iOS 版本。若要采用新的 iOS 版本,需更新所有快照的参考图像。可通过全局查找替换将 recordMode 设置为 true 来一次性完成更新,也可使用环境变量来设置 recordMode 。
1.2 使用快照编写视图代码
表征测试可捕获代码的现有行为,快照测试作为表征测试的一种,通常会认为它是在代码完成后进行的。但实际上,在编写视图和视图控制器代码时,快照测试就能提供反馈。
单元测试视图控制器的优势在于无需在应用中手动导航到目标屏幕。例如,应用中有登录屏幕、账户标签页以及可从该标签页访问的屏幕,使用单元测试时,无需手动点击操作,而是直接创建所需对象,包括视图控制器,从而节省大量时间。
快照测试同样如此,它无需手动导航,能直接创建所需内容。而且,无需盯着屏幕担心按钮是否向左移动了 5 个点,若测试通过,就表明视图外观与参考图像一致,进一步节省时间。
若开始开发新的视图控制器或自定义视图,可先创建一个 recordMode 为 true 的新快照测试。每次运行测试时,无需导航到该视图就能看到其外观,甚至在还无法导航到该视图时也能进行观察。生成的参考图像比 Interface Builder 中的更
超级会员免费看
订阅专栏 解锁全文
1092

被折叠的 条评论
为什么被折叠?



