Purtroppo, mentre in un'unità-test (o test di logica) - non sei veramente "nella tua app" (vale a dire la sua sandbox). Ecco perché cose come NSDocumentDirectory o [NSBundle mainBundle] non funzioneranno.
Se funziona per voi, mi basta andare avanti e creare una cartella "Documenti" in
/Users/hgpc/Library/Application Support/iPhone Simulator/5.0
Si potrebbe desiderare di fare questo nel programma di installazione del tuo test, in questo modo è possibile eliminarlo in tearDown .
Se questo non funziona, perché i test dipendono da cose già essere nella NSDocumentDirectory della tua app, si potrebbe desiderare di ripensare il test un po ', come dovrebbero essere tutti autonomo (cioè installare tutte le risorse dal proprio bundle in setUp)
È inoltre possibile utilizzare NSLibraryDirectory anziché NSDocumentDirectory, a seconda di cosa testare.
fonte
2011-12-19 16:19:41
Questo sembra preferito su altre soluzioni. Molto più vicino simulazione di quello che sta succedendo. Funziona altrettanto bene su simulatore e dispositivo. – lyricsboy
È questo il default ora? In un nuovo progetto in XCode creato con unit test l'impostazione "Bundle Loader" del target UT corrisponde a quanto sopra. – Parrots
Sì, è predefinito ora. –