当前位置 : 主页 > 手机开发 > ios >

ios – 如何对UITableView进行单元测试?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在尝试单元测试UITableView,但我不知道该怎么做.我有一个视图控制器,其中有一个表视图.每个原型单元都有一个自定义表视图单元类,其上连接有插座. 现在,我想分别测试这两个组件
我正在尝试单元测试UITableView,但我不知道该怎么做.我有一个视图控制器,其中有一个表视图.每个原型单元都有一个自定义表视图单元类,其上连接有插座.

现在,我想分别测试这两个组件.首先,我想通过单独创建原型单元来测试表视图单元格内的数据是否正确.其次,我想用随机数据填充我的表视图并测试对象是否正确等.我怎样才能做到这两个?

为了测试单元本身,我不知道如何单独创建单元并通过向其发送数据来检查它.因此,我的自定义类具有将数据设置为单元格的小功能,而不是直接将数据分配给标签,按钮,图像.我想测试那些功能.但是,如果我没有渲染它,我无法检查它.

为了测试组件,我的问题是不同的,我想改变即将发生的数据.因此,我不想从API中读取数据,而是想要正常读取它,但我不知道如何更改viewDidLoad以使用本地对象而不是网络对象.

简短的回答是:你没有.作为一般经验法则,在单元测试中,您应该测试业务逻辑,而不是UI.通常,视图应该没有功能,因此没有理由对它们运行单元测试.

编辑:对此进行详细阐述.我更喜欢只在视图中存储信息,这些信息与它的外观,位置等有关.这通常可以声明性地编程.此外,视图将具有将用户交互从UI框架转换为界面所需的最小功能为您的演示者(如果使用MVP)或控制器(如果使用MVC).然后,可以通过相同的界面对演示者或控制器进行心脏测试.

我还发现,如果您开发创建新视图的首选项而不是重新呈现现有视图,则可以避免很多复杂性和错误.这并不总是可行的.但是当它出现时,视图的动态工作要少得多,而只是显示传递给构造函数的模型.

网友评论