Swift错误 - 方法不覆盖其超类中的任何方法

时间:2018-03-22 14:27:47

标签: swift override subclass xctest

我遇到了一个问题,当我试图覆盖一个函数时,它告诉我超类中没有方法。子类位于XCTest中。当我在常规项目中进行子类化时它完美地工作但是XCTest由于某种原因不起作用下面是代码

父类

class BackupServerCell: UITableViewCell {
    @IBOutlet var serverNameLabel: UILabel!
    @IBOutlet var serverDescriptionLabel: UILabel!

    func configCell(with server: VeeamBackupServer) {

    }
 }

子类 - 位于XCTest文件

class MockBackupServerCell : BackupServerCell {
    var configCellGotCalled = false

    override func configCell(with server: VeeamBackupServer) {
        configCellGotCalled = true
    }
}

2 个答案:

答案 0 :(得分:0)

当您处理测试目标时,有时需要导入主项目。

假设您的项目名为“MyAwesomeProject”,只需在测试文件中添加此行:

  

@testable import MyAwesomeProject

获得这样的东西:

import XCTest
@testable import MyAwesomeProject

class TestStaticQueries: XCTestCase {
    // Add your test methods here.
} 

答案 1 :(得分:0)

@DDelforge,部分正确。我不得不将BackupServerCell类添加到Test Target。不知道为什么这个班级不同,但是嘿,它有效。

谢谢大家