成功我有这样的成功测试:迅速XCTAssertEquals与可选
func testProfileFieldValue() {
let realm = try! Realm()
let vs = ["name":"n"]
createOrUpdate(realm: realm, value: vs)
let profile = realm.objects(Profile.self).first
XCTAssertEqual("n", profile?.name)
}
private func createOrUpdate(realm:Realm, value: Any = [:]) {
try! realm.write() {
realm.create(Profile.self,value:value,update: true)
}
}
为什么这个测试成功吗? “n”不是可选的。如果我尝试断言:
XCTAssertEqual("nf", profile?.name)
我在Xcode得到这个失败的消息:
XCTAssertEqual失败:( “可选(” NF “)”)不等于 ( “可选(” n“)”)
为什么“nf”是和可选的?
THX
'profile?.name'是可选的,因此''n“'是由编译器自动包装成可选的,以便可以比较这两个值。比较http://stackoverflow.com/a/38587571/1187415。 –