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]; 

單元測試環境有什麼問題?

+1

您的自定義類.m文件包含在測試目標中嗎? –

+0

那麼你去:-) - 發表一個答案,我會接受它 – FishStix

回答

3

確保您的自定義類實現文件包含在單元測試目標中。 :)

相關問題