我正在练习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在此示例中所说的内容。
答案 0 :(得分:3)
您对两个单独的事物使用相同的名称ToDoItem
:测试套件和被测系统。
重命名您的测试套件。例如:ToDoItemTests