2010-12-04 9 views
0

Je configure une cible de test unitaire pour mon application iOS (en utilisant le SDK 4.2) en suivant this guide. Le guide dit que RunUnitTests devrait se réaliser à partir d'un script shell dans la phase finale de mon objectif:Script xcode RunUnitTests dans la cible de test unitaire?

Réglage de la valeur pour l'hôte de test indique le script RunUnitTests (exécuté pendant la phase de construction finale) pour lancer l'application spécifiée et injecter votre faisceau de test dans

et en effet, la cible que j'ai créé a une étape "Exécuter le script", mais cette étape est vide. Mon cas de test construit correctement, comme « compiler les sources » ne contient ma classe de test, mais il ne semble pas se faire écraser, comme je l'ai une méthode d'essai je pense que devrait échouer:

- (void)testClick { 
    STAssertTrue(NO, @"sample test"); 
} 

que je pense, devrait xcode fait du bruit, mais tout ce que j'ai quand je construis ma cible est "Build Successful". Qu'est-ce qui me manque dans la configuration de la cible? Les étapes «Lier les binaires avec les bibliothèques» et «Exécuter le script» de ma cible de test unitaire doivent-elles être vides? La cible compile définitivement mes cas de test, mais je ne pense pas qu'elle sache lier ou exécuter le script. Dans ma configuration cible, j'ai défini les propriétés "Bundle Loader" et "Test Host" sur ce que je crois être correct, car lorsqu'elles étaient incorrectement définies, le compilateur se plaignait.

+0

Quelle version de Xcode utilisez-vous? –

+0

3.2.5 64 bits. Chris, j'ai lu les articles de ton blog sur ce sujet et ils ont été très utiles, ils ont juste frappé ce barrage en cours de route. –

Répondre

0

Paul, essayez d'inclure ce code comme le script dans votre vide "Exécuter le script" construction de la phase:

# Run the unit tests in this test bundle. 
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

Et assurez-vous que la ligne de shell lit /bin/sh. Je peux me tromper, car il n'est pas mentionné dans ce guide particulier, mais c'est comme ça que j'ai fait mes tests unitaires, et ça a bien fonctionné.

Questions connexes