Domanda

Ho recentemente avviato la sperimentazione di unità di un app che scrivo per l'iPhone. Ho le basi per creare i miei propri test verso il basso, anche se sembra un po 'sub-ottimale. Sto, tuttavia, avendo difficoltà reale creazione di analisi di copertura del codice usando gcov.

Ho seguito le istruzioni qui: http : //www.cubiclemuses.com/cm/articles/2009/05/14/coverstory-on-the-iphone/, che si ripetono in modo molto simile in altri luoghi. Ho provato con AppleScript di Google dalla loro cassetta degli attrezzi per Mac per farlo nel caso in cui stavo entrando qualcosa di sbagliato in Xcode.

iPhoneUnitTests esempio come base progetto e semplicemente eseguendo AppleScript di Google per consentire il test in codice di copertura contro il bersaglio CalcTests per ottenere una anche di origine, ad esempio automatizzato di esso non funziona. Non importa quale sia lo scenario che uso, il mio codice, Apple, impostare manualmente le variabili corrette o lasciando AppleScript di Google lo fa per me, tutto quello che ottiene sono questi errori nella console di debug una volta che le prove sono finite in esecuzione:

profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcViewController.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/Calculator.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcAppDelegate.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/main.gcda:Skip

I file GCDA non sono creati, e quindi non ho nulla da analizzare. Qualsiasi aiuto con questo sarebbe molto apprezzato.

È stato utile?

Soluzione

La soluzione è che queste guide si riferiscono a esecuzione di codice nel simulatore iPhone. Perché io sono l'esecuzione di test di livello di applicazione, sono cross-profiling e la necessità di seguire questo informazioni .

Ho quindi impostare la variabile d'ambiente GCOV_PREFIX per eseguire il dump nella directory Documenti di mia domanda, e poi io uso l'Organizzatore in Xcode per scaricare il pacchetto di mia app dal dispositivo per ottenere i file .gcda fuori dalla directory Documenti. Questo è piuttosto ingombrante e difficilmente si presta a copertura testare automatico, ma è l'unica soluzione posso vedere tenuto conto dei vincoli di esecuzione in un sandbox e utilizzando classi che sono disponibili solo per il test sul dispositivo (cioè MediaPlayer.framework).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top