如何知道变量返回函数是不是数组?例子: 在我的 Presenter 中,我有这个功能:
func filterGnomosForName(name:String) -> [Gnomo]{
let res = listGnomos.filter { ($0.name?.lowercased().contains(name.lowercased()))!}
return res
}
而 MyTestClass 我有这个测试功能:
func testFilterGnomo(){
let result = listPresenter.filterGnomosForName(name: "Nam")
XCTAssert(result == [Gnomo])
}
Gnomo 是数组中的类型对象,但只想知道它是否是数组,以了解函数是否正确,帮帮我?
最佳答案
当我断言一个对象类型时,我这样做:
XCTAssert((object as Any) is Array)
我之前没有断言过数组,但我认为上面的方法可行。
这是我刚刚在 Swift Playground 中创建的示例:
import UIKit
import XCTest
class MyTestClass: XCTestCase {
func testSomething() {
let myArray: [String] = ["foo", "bar"]
XCTAssert((myArray as Any) is String) // Fails
XCTAssert((myArray as Any) is [String]) // Passes
}
}
MyTestClass.defaultTestSuite().run()
关于ios - 使用 XCTest 检查变量是否为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45957598/