0
我有一個「數據」類,它使用一個布爾屬性「屬性」來描述「NSManagedObject」的子類。我還在類「數據」中定義了一個「whoisyou」方法。此代碼在應用程序中運行,但只要將此代碼放入我的UnitTest中,Core Data將返回一個「NSManagedObject」而不是「Data」對象,並且「屬性」屬性起作用,但「whoisyou」方法會引發「無法識別的選擇器「異常。核心數據在單元測試中返回NSManagedObjects而不是子類
Data *data = [NSEntityDescription insertNewObjectForEntityForName:@"Data" inManagedObjectContext:self.moc]; NSLog(@"TYPE: %@", [data class]); data.attribute = [NSNumber numberWithBool:YES]; STAssertTrue([data.attribute boolValue], @"should have been TRUE"); data.attribute = [NSNumber numberWithBool:NO]; STAssertFalse([data.attribute boolValue], @"should have been FALSE"); [data whoisyou];
單元測試環境有什麼問題?
您的自定義類.m文件包含在測試目標中嗎? –
那麼你去:-) - 發表一個答案,我會接受它 – FishStix