Ho sviluppato un'applicazione per iPhone utilizzando un modello di dominio e ho rimandato l'aspetto di persistenza dell'app fino ad ora. Core Data sembra davvero un'ottima soluzione poiché ho già un modello ben definito, ma mi trovo in difficoltà con i miei test unitari esistenti.Come testare unitamente i miei modelli ora che sto usando Core Data?
Ecco semplice esempio di quello che ho adesso:
- (void)test_full_name_returns_correct_string {
Patient *patient = [[Patient alloc] init];
patient.firstName = @"charlie";
patient.lastName = @"chaplin";
STAssertTrue([[patient fullName] isEqualToString:@"charlie chaplin"], @"should have matched full name");
}
Come posso fare questo lavoro una volta che il mio oggetto del paziente si estende da NSManagedObject e usa @dynamic per le proprietà firstName e lastName?
Qualcun altro ha eseguito questo tipo di questo con Core Data? Grazie.
Grazie per l'aiuto. Andrò questa strada. Riguardo alla perdita di memoria, non mi sono preoccupato di ripulire la memoria nei miei test di unità. Sembra più leggibile per me senza le versioni. C'è un vantaggio nel mantenere le prove fuoriuscite? –
Se i test perdono, è davvero difficile usare la suite di test unitaria per verificare il tuo * altro * codice per perdite. Gli strumenti hanno un analizzatore di perdite che è fondamentalmente inutile se oscurate * reall * perdite con perdite non necessarie (ma intenzionali) delle stesse classi nel codice di test. –
Penso che dopo un po 'scoprirai che il codice di conservazione/rilascio scompare dalla visione cosciente. Raramente me ne accorgo più, a meno che non manchi. –