Sto scrivendo unit test per un'applicazione iOS. Comprendo chiaramente i vantaggi della scrittura di unit test & TDD, ma sono confuso su quale tipo di test puoi scrivere per metodi come questo;
-(void)setCurrentView:(NSString *)view data:(NSString *)data
{
if (!isEmpty(view)) {
[Crashlytics setObjectValue:view forKey:kCurrentView];
if (!isEmpty(data)) {
[Crashlytics setObjectValue:data forKey:kCurrentViewData];
}
}
}
È scritto in objective C
& Crashlytics è un'API di terza parte.
- Possiamo passare NULL e amp; nil values & verifica che non generi alcuna eccezione
- Oltre a questo possiamo verificare che i valori siano impostati correttamente (isEqual)
Altri casi di test che possiamo usare qui ..
Aggiorna
Il metodo sopra non funziona come escluso. Chiamare il metodo di classe " setObjectValue
" non sta inviando nulla alla dashboard Crashlytics. Devo chiamare il metodo instance in Crashlytics per farlo funzionare ..
[[Crashlytics sharedInstance] setObjectValue:view forKey:kCurrentView];