【问题标题】:Swift XCTest Cell Loaded in Test, but all outlets are nil, why?Swift XCTest 单元已加载测试,但所有出口都为零,为什么?
【发布时间】:2015-08-11 14:41:47
【问题描述】:

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

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

当我尝试为此单元创建测试时,问题就出现了。在上面的项目中,我有一个测试类TableVewTestTestTests.swift(这个名字很荒谬,我的错)模拟ViewController tableView并继续正确获取一个单元格,但是当尝试验证单元格的插座时,它们都是@987654328 @(包括UITableViewCell 超类网点)。这是怎么回事?

【问题讨论】:

    标签: ios uitableview swift xctest


    【解决方案1】:

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

    因此,注册调用如下所示:

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

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

    【讨论】:

    • 它似乎不起作用。 @BHendricks 你有什么顺序来做吗?如果您提供更多详细信息,那就太好了。
    • 在测试项目中? @Julio Bailon
    • 是的。我已经尝试了每一个组合,但没有任何运气
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2017-01-08
    • 2016-05-05
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    相关资源
    最近更新 更多