Sto creando una libreria statica per iOS e sto cercando di ottenere i dati di copertura del codice per i suoi test unitari. Sto usando CoverStory per visualizzare i file di copertura del codice generato.Risultati di copertura del codice errati su XCode durante il test delle eccezioni
Ottengo informazioni corrette per la maggior parte dei test.
Tuttavia, qualsiasi test che verifica la presenza di un'eccezione non viene contrassegnato come testato.
Ad esempio il metodo
- (void)shouldThrow:(BOOL)throw {
if (throw)
@throw [NSException exception...];
NSLog(@"not thrown");
}
testata con il test
- (void)testShouldThrow {
STAssertThrows([myObject shouldThrow:YES], @"Should have thrown an exception");
STAssertNoThrow([myObject shouldThrow:NO], @"Should not have thrown an exception");
}
supera tutti i test (cioè l'eccezione viene gettata correttamente). Tuttavia, la copertura del codice non mostra il 100%: la riga con @throw
non viene contrassegnata come verificata.
Qualche idea?
Questo è ciò di cui avevo paura :((Ho impostato i punti di interruzione sulla linea, quindi so che è in fase di test, ma sarebbe bello poter automatizzare il test!) – deanWombourne