gpt4 book ai didi

ios - 如何在 Swift 中测试自定义 UITableViewCell 的布局

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:17 26 4
gpt4 key购买 nike

我为我创建的自定义单元格创建了一个测试类。单元格相当复杂,有几个不同的标签和图像,它们自动布局受限于单元格的边界,我想测试为某些标签设置长文本不会使标签超出单元格的边界。本质上,我想运行以下行:

XCTAssertLessThanOrEqual(cell.textLabel!.frame.size.width, cell.frame.size.width, "text label width should be less than cell's frame")

以确保我的自定义 textLabel 不会越界。不过,我遇到的问题是我不知道如何模拟上面的自定义单元格 cell。我是否需要创建一个模拟 TableView 并用模拟数据填充它以获取模拟单元格,或者是否有办法创建 UITableViewCell 的自定义子类的实例并测试其布局那马上?

最佳答案

测试可能看起来像这样(引用:here)。

import UIKit
import XCTest

class MainViewControllerTests: XCTestCase {

var controller: MainViewController!

override func setUp() {
super.setUp()

controller = MainViewController()
controller.view.description
}

override func tearDown() {
super.tearDown()
}

func testTableViewOutlet() {
XCTAssertNotNil(controller.tableView)
}

func testTableViewCellForRowAtIndexPath() {
let indexPath = NSIndexPath(forRow: 0, inSection: 0)

let cell = controller.tableView(controller.tableView, cellForRowAtIndexPath: indexPath) as! CustomCell

XCTAssertEqual(cell.countryLabel.text!, "USA")
XCTAssertEqual(cell.capitalLabel.text!, "Washington, D.C.")
}
}

关于ios - 如何在 Swift 中测试自定义 UITableViewCell 的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30385461/

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