成功我有這樣的成功測試:迅速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。 –