测试中加载了Swift XCTest Cell,但所有出口都是零,为什么?

时间:2015-05-28 21:42:29

标签: ios uitableview swift xctest

我为此问题创建了一个示例项目,找到here

我所拥有的是ViewController,它是UITableViewController的子类,我正在加载自定义单元格,名为TableViewCell。常规构建工作很好,如果你运行它应该出现3个单元格,每个单元格都有一个标签"Cell i",其中i是该单元格的行。

当我尝试为此单元格创建测试时,会出现问题。在上面的项目中,我有一个测试类TableVewTestTestTests.swift(这个名字很荒谬,我的错)嘲笑ViewController tableView并继续正确地获取一个单元格,但是当试图验证单元格的出口时,都是nil(包括UITableViewCell超类出口)。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

事实证明,我在测试中注册了TableViewCell而不是nib的类,但是当我加载nib时,我遇到了其他错误。事实证明,您需要注册自定义单元格的笔尖,但声明它的包在Test target中。

因此,寄存器调用如下所示:

vc.tableView.registerNib(UINib(nibName: "TableViewCell", bundle: NSBundle(forClass: TableViewCell.classForCoder())), forCellReuseIdentifier: "cell")

这使得所有插座都可以在单元中工作,并且可以进行测试!