单元测试错误表示参数与任何可用的重载都不匹配

时间:2017-01-01 01:21:55

标签: swift xcode unit-testing tdd xctest

我正在练习TDD,我正在遇到一个非常简单的错误但是无法找出原因。这是该项目的第一个单元测试用例,当我认为我已按预期完成所有操作时,它将无法编译。

单元测试用例代码为:

import XCTest
@testable import PassionProject

class ToDoItem: XCTestCase {

    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }

    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }

    func test_Init_TakesTitle(){
        ToDoItem(title: "Instance Ones Title")

    }
}

通过在适当的目标中创建ToDoItem类来建立模型,该代码为:

struct ToDoItem {

    let title: String

}

搜索stackoverflow之后,其他答案通过确保为Swift 3列出参数名称来解决此错误,而stackoverflow上的其他示例则是针对返回类型的函数。在此示例中,我没有返回类型,并且在创建实例时列出了参数名称。有人能指出我的方向来了解我做错了什么,其次是Xcode在说“任何可用的超载”时的意思吗?我的在线搜索出现了关于函数重载的教程,但结构不是函数,对吗?

请提前感谢您解释Xcode在此示例中所说的内容。

1 个答案:

答案 0 :(得分:3)

您对两个单独的事物使用相同的名称ToDoItem:测试套件和被测系统。

重命名您的测试套件。例如:ToDoItemTests