【问题标题】:Cannot invoke function with an argument list of type in Swift Test class无法在 Swift Test 类中调用具有类型参数列表的函数
【发布时间】:2015-11-01 21:27:52
【问题描述】:

我正在尝试编写如下所示的测试,但收到以下编译器错误 => 无法使用类型为“([用户],用户 ID:字符串)”的参数列表调用“包含”。

func testInclude() {
    var users = mockUsers()
    XCTAssert(self.viewController.include(users, userId: "2"), "Pass")
}

mockUsers函数如下所示。

func mockUsers() -> [User]{
    var users = [User(userId: "1", username: "soupguy", gender: 0, name: "Bob"),
        User(userId: "2", username: "breadeater", gender: 1, name: "Alice"),
        User(userId: "3", username: "lawnmowersrule", gender: 0, name: "Alex")]
    return users
}

正在测试的包含函数如下所示。

public func include(array: [User], userId: String) -> Bool {
    for item in array {
        if item.userId == userId {
            return true
        }
    }
    return false
}

我尝试过更改类型并将结果存储在临时变量中,但未能成功编译测试。

【问题讨论】:

    标签: ios xcode swift testing xctest


    【解决方案1】:

    我最好的猜测是您的“功能”之一是错误的,返回并检查您的所有功能并清理 Xcode 菜单栏上的项目表单产品选项卡可能也会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      相关资源
      最近更新 更多