gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:40 25 4
gpt4 key购买 nike

我正在尝试对 UITableView 进行单元测试,但我不知道该怎么做。我有一个 View Controller ,其中有一个 TableView 。每个原型(prototype)单元格都有一个自定义的表格 View 单元格类,并附有 socket 。

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

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

对于测试组件,我的问题在某种意义上是不同的,我想更改传入它的数据。因此,我不想从 API 读取数据,而是想正常读取数据,但我不知道如何更改 viewDidLoad 以使用本地对象而不是网络对象。

最佳答案

简短的回答是:你不知道。作为一般经验法则,在单元测试中,您应该测试业务逻辑,而不是 UI。一般来说, View 应该没有任何功能,因此没有理由对它们运行单元测试。

编辑:对此进行更多阐述。我更喜欢只将信息存储在与其外观、位置等相关的 View 中。这通常可以声明式编程此外, View 将具有将用户交互从 UI 框架转换为界面所需的最小功能为您的演示者(如果使用 MVP)或 Controller (如果使用 MVC)。然后可以通过相同的界面对演示器或 Controller 进行测试,以满足您的需求。

我还发现,如果您倾向于创建新 View 而不是重新呈现现有 View ,则可以避免很多复杂性和错误。这并不总是可行的。但是当它出现时, View 所做的动态工作要少得多,而只是显示本应传递到其构造函数中的模型。

关于ios - 如何对 UITableView 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42998977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com