Les builds ne sont pas marqués comme instables lorsque le test unitaire échoue

StackOverflow https://stackoverflow.com/questions/1431777

  •  07-07-2019
  •  | 
  •  

Question

J'ai ajouté un nouveau travail sur mon serveur Hudson qui construit le projet avec un fichier makefile.

Exécuter la commande shell:

#!/bin/bash
cd $JOB_NAME
make

Mon fichier make ressemble à ceci

SDK_31 = iphonesimulator3.1
TARGET_DEV = myProject
TARGET_TEST = unitTest

all: debug
debug:
        xcodebuild -sdk ${SDK_31} -target "${TARGET_DEV}" -configuration Debug
        xcodebuild -sdk ${SDK_31} -target "${TARGET_TEST}" -configuration Debug

clean:
        xcodebuild -alltargets clean
        rm -rf build

Mais lorsque hudson construit les projets, certains tests unitaires échouent mais la construction est considérée comme réussie.

Que dois-je faire pour avoir un "projet instable"? ?

Cordialement,

Était-ce utile?

La solution

Vous devez configurer Hudson pour enregistrer les résultats des tests unitaires en activant l'action post-génération "Publier le résultat du test Junit".

actions de post-construction http://img141.imageshack.us/img141/5136 /hudsonjunit.png

Mise à jour : si vous ne pouvez pas obtenir la sortie XML de JUnit, vous devriez pouvoir utiliser plug-in de recherche de texte pour modifier le statut de construction:

  

Ce plug-in vous permet de rechercher des mots-clés dans les fichiers que vous avez spécifiés et de les utiliser pour marquer le succès ou l'échec de la construction.

Autres conseils

J'ai trouvé ce script ruby ??pratique de Christian Hedin qui convertit la sortie des tests OCUnit (le format utilisé par Xcode) en fichiers xml JUnit (le format utilisé par Hudson).

Vous pouvez récupérer le script sur github: http://github.com/ciryon/OCUnit2JUnit

et pour une explication sur son utilisation, voici son billet de blog à ce sujet: http://blog.jayway.com/2010 / 01/31 / continuos-integration-for-xcode-projects /

En gros, vous dirigez xcodebuild dans ocunit2junit.rb avec une commande comme celle-ci:

/usr/bin/xcodebuild -target UnitTests | /usr/local/bin/ocunit2junit.rb

et il place les fichiers XML dans un dossier de rapports de test créé à la racine du dossier de votre projet. Ensuite, demandez à Hudson de copier les artefacts test-reports / *. Xml en tant que résultats JUnit et vous êtes défini.

Cette configuration permettra à Hudson de déterminer correctement si un test unitaire a réussi ou échoué et de marquer correctement la stabilité de la construction.

Je l'utilise depuis un mois maintenant et cela fonctionne très bien. La configuration était très simple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top