2013-10-09 3 views
9

Est-il possible d'utiliser Jenkins avec XCTest?Puis-je intégrer Jenkins et XCTest

Il existe un script ruby ​​(OCUnit2JUnit - https://github.com/ciryon/OCUnit2JUnit) qui analyse la sortie OCUnit et crée des fichiers XML que Jenkins peut analyser.

Existe-t-il quelque chose d'équivalent pour gérer la nouvelle sortie XCTest?

À l'heure actuelle, l'intégration continue d'Apple n'est pas envisageable.

+4

XCTool est supporté par XCTest et possède un excellent historique en ce qui concerne l'intégration de Jenkins. – CodaFi

Répondre

-1

C'est ce que je cours sur mon projet Jenkins après avoir installé ocunit2junit sur ma machine de construction:

xcodebuild test -scheme <my_scheme> -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPhone Retina (4-inch)" | ocunit2junit 

J'ai ensuite ajouté un rapport de publication des résultats des tests JUnit comme une action post construction. Était un peu flakey au début (créant seulement les fichiers xml quand il n'y avait pas d'action post-build), mais après avoir lancé la construction directement sur ma machine de build, cela fonctionne.

+0

Merci pour le partage, mais cela ne répond pas à la question du tout ... – Jake

+0

Ah, vous avez raison. J'ai mal lu la question. – Mark

+0

Hmm, apparemment ocunit2junit soutient XCTest aussi bien maintenant? http://stackoverflow.com/a/23256836/797767 – Mark

1

Vous devez ajouter une phase de construction de script shell.

Ajoutez d'abord la pierre précieuse de ocunit2junit à la machine de construction:

sudo gem install ocunit2junit 

Ajoutez ensuite le script shell de phase de construction et assurez-vous que vous êtes dans le répertoire du projet lorsque vous exécutez le script:

xcodebuild -workspace yourWorkSpace.xcworkspace -scheme YourTestsScheme -configuration Debug clean test 2>&1 | ocunit2junit 

Ensuite, assurez-vous d'ajouter l'action Publier les résultats du test JUnit après le travail Jenkins configuré pour trouver la sortie pour ocunit2junit: **/test-reports/*. Xml

0

pour moi ça ne marche pas. également sur la page d'accueil Github du projet XCTest n'est pas mentionné pour être pris en charge. Il semble donc que ce est pas pris en charge

3

Deux options:

1) conduit votre sortie xcodebuild dans xcpretty et d'utiliser leur formatter Junit. Alors Jenkins peut publier cela. B) utiliser xctool au lieu de xcodebuild. Xctool a construit en journaliste Junit, vous pouvez spécifier pour les tests.

Nous avons fait les deux et ils fonctionnent bien sur Jenkins.

+0

@piiluke Je ne suis pas capable de lancer le simulateur en utilisant jenkins. Comment as-tu fais ça ? –

+0

Ligne de commande @HarishGupta xcodebuild a tout ce dont vous avez besoin pour exécuter des tests. Si vous voulez juste lancer le simulateur lui-même (sans aucun contexte) pour une raison quelconque, exécutez l'application soit en utilisant un script shell ou AppleScript. – plluke

+0

Merci pour la réponse !! Mes cas de test sont un cas de test d'interface utilisateur nécessitant un simulateur.Ainsi, lorsque Jenkins exécute le test, il doit d'abord démarrer le simulateur. –