2010-01-19 3 views
2

Lorsque j'exécute des tests unitaires, il échoue lors du chargement de ressources externes (images) avec la même erreur que si elles n'existaient pas. Dans xcode, j'ai ajouté les ressources à la cible de test unitaire. Je ne sais pas quoi essayer ensuite.Les tests d'unité Objective-C ne trouvent pas mes ressources

J'utilise le cadre Cocos2d, j'essaie de charger le code suivant dans un test unitaire AtlasSpriteManager *at = [AtlasSpriteManager spriteManagerWithFile:@"player2.png" capacity:50];

Il semble que cela appelle en fait UIImage imageWithContentsOfFile qui renvoie nil.

Le code réel qui jette l'erreur ressemble

image = [uiImage CGImage]; if(image == NULL) { [self release]; NSLog(@"Image is Null"); return nil; }

Il semble que les images nécessaires ne sont pas copiés dans le répertoire Application Support avant les tests unitaires fonctionnent, seulement après une passe réussie. Je ne sais pas si c'est le problème, mais si c'est le cas, est-il possible de changer l'ordre de construction pour que les images soient copiées en premier et que les tests unitaires puissent les trouver?

Répondre

1

Les ressources les plus susceptibles ne sont pas incluses dans la cible. Donc, avant d'avoir votre phase Run Script de votre bundle de test, assurez-vous que vous avez une phase "Copy Resources" qui copie les ressources dans l'ensemble de tests dont les tests auront besoin.

+0

Je ne parviens pas régulièrement à inclure les bonnes cibles pour mes ressources. Plus que l'échec réel du code, est ce qui soulève des alarmes. – pestilence669

+0

J'ai une phase de ressource de paquet de copie. Je suis la documentation de la pomme sur les tests unitaires, donc j'ai mon projet dupliqué qui ajoute la ressource bundle de copie PROJNAME.octest, cette extension a les ressources de l'image. Ensuite, dans la cible du paquet de test unitaire, il y a également une phase de ressource de paquet de copie qui contient mes images. Je suppose qu'il est avant la phase de script d'exécution car il est plus haut dans l'arbre quand j'élargis la cible. – jacob

Questions connexes