单元测试错误说参数不匹配任何可用的重载
Unit test error says argument does not match any available overloads
我正在练习 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 class 来建立模型,该代码如下:
struct ToDoItem {
let title: String
}
在搜索 Whosebug 后,其他答案通过确保为 Swift 列出参数名称来解决此错误 3 Whosebug 上的其他示例是针对返回类型的函数。在此示例中,我没有返回类型,并且在创建实例时列出了参数名称。有人可以指出我做错了什么的方向吗?其次 Xcode 在说 "any available overloads" 时是什么意思?我的在线搜索出现了有关函数重载的教程,但结构不是函数,对吧?
提前感谢您提供的任何解释,以帮助您理解 Xcode 在此示例中准确表达的内容。
您对两个不同的事物使用相同的名称 ToDoItem
:测试套件和被测系统。
重命名您的测试套件。例如:ToDoItemTests
我正在练习 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 class 来建立模型,该代码如下:
struct ToDoItem {
let title: String
}
在搜索 Whosebug 后,其他答案通过确保为 Swift 列出参数名称来解决此错误 3 Whosebug 上的其他示例是针对返回类型的函数。在此示例中,我没有返回类型,并且在创建实例时列出了参数名称。有人可以指出我做错了什么的方向吗?其次 Xcode 在说 "any available overloads" 时是什么意思?我的在线搜索出现了有关函数重载的教程,但结构不是函数,对吧?
提前感谢您提供的任何解释,以帮助您理解 Xcode 在此示例中准确表达的内容。
您对两个不同的事物使用相同的名称 ToDoItem
:测试套件和被测系统。
重命名您的测试套件。例如:ToDoItemTests