2011-03-01 5 views
8

J'ai un projet de base qui ne s'exécute pas en tant qu'application, son seul "produit" est de générer et d'exécuter un script. Ce projet a été créé dans Xcode 3 et fonctionnait très bien. L'exécution d'une build exécuterait le script de test, sans tracas. Mise à jour vers Xcode 4, mon script ne s'exécute plus. Je n'ai apporté aucun changement au projet, mais il y a évidemment des différences. J'ai vérifié les paramètres de construction, et il semble que le script est des résultats de tuyauterie à /tmp/RunUnitTests.out, et le contenu de ce fichier sont:Mise à niveau vers Xcode 4 à partir de Xcode 3 Broke Unit Tests

/Developer/Tools/RunUnitTests:68: note: RunUnitTests exited without running tests because TEST_AFTER_BUILD was set to NO. 

Où doit cette variable TEST_AFTER_BUILD être réglée? Y a-t-il un moyen de le faire dans l'interface utilisateur que je ne trouve pas, ou ai-je besoin de le définir ailleurs?

(Je suppose que depuis Xcode 4 a atteint Gold Master, il est sûr de discuter de ces choses?)

Répondre

14

Si vous allez dans les paramètres du projet (cliquez sur l'icône du dossier, le fichier de projet bleu en haut), sélectionnez votre cible de test sous Targets, sélectionnez Build Settings, activez Tous paramètres, trouver unité Test, le changement "Test After Build" sous la cible de test à oui.

3

Je l'ai trouvé! J'ai modifié la phase construire « Exécuter le script » pour ma cible, et changé la commande de:

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

à:

export TEST_AFTER_BUILD=YES 
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 
4

Je crois que vous pouvez également trouver ce même drapeau (Test après génération) en la section Tests unitaires des paramètres de construction pour chaque cible. Il est par défaut de 'NON' donc il doit être changé.

Questions connexes