雷达上的
雷达上的

ViewInspector

已发布:2021年10月27日
2021年10月
试验 值得一试。了解为何要构建这一能力是很重要的。企业应当在风险可控的前提下在项目中尝试应用此项技术。

当我们使用SwiftUI创建界面时,其背后理念是创建一个可以轻松映射到界面元素的视图模型。在这种场景下,大多数测试都可以在模型上完成,而我们只需使用标准的单元测试框架就能编写直观、高效的测试。为了测试模型和视图之间的数据绑定,开发者会使用XCUITest,这个自动化框架会启动完整的应用并远程控制界面,它能达到目的,测试效果也还算稳定,但是耗时很长。

想要更快地给SwiftUI编写单元测试,您可以试试ViewInspector开源库,它利用迅速开放的反射API访问SwiftUI创建的底层视图。因此,基于ViewInspector的测试只需要实例化一个SwiftUI视图,定位到需要测试的界面元素,就可以对元素进行断言测试,而像点击这种基本的交互也可以被测试到。如同许多别的UI测试框架,ViewInspector提供了定位界面元素的API,您可以指定路径,通过视图层级结构找到元素,也可以使用一系列查找方法定位元素。基于ViewInspector的测试往往比用XCUITest的测试更简单,运行起来也要快得多。不过,需要注意的是,尽管用ViewInspector写测试很简单,您也可能因此过度测试——测试简单的一对一映射逻辑就像在复印代码,没有太大意义。此外,即便ViewInspector降低了测试SwiftUI代码的难度时,也请记住要把大部分逻辑放在模型中实现。

雷达

下载第25期技术雷达

英语|西班牙语|葡萄牙商业银行|中文

雷达

获取最新技术洞见

立即订阅

查看存档并阅读往期内容

Baidu