Quelle est la meilleure façon d’exécuter des tests unitaires après chaque validation? - svn - branche par fonctionnalité

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

Question

Quel est le meilleur moyen d'exécuter votre suite de tests unitaires après chaque validation?

Je suis particulièrement intéressé par le cas où vous effectuez toutes vos fonctions / modifications dans les branches et maintenez votre coffre stable.

Mon contrôle de source est SVN et j'utilise tortoise SVN en tant que client.

Puis-je appeler un fichier .cmd / .bat pour un événement SVN ou quelque chose du genre?

Si la réponse est cruisecontrol, comment vérifiez-vous toutes les branches avec le régulateur de vitesse?

Était-ce utile?

La solution

Je pense que vous devriez probablement exécuter vos tests unitaires avant la validation. Si vous souhaitez tester à chaque validation, vous devez le faire suffisamment tôt pour rejeter les modifications de dernière minute.

Vous pouvez le faire avec subversion crochets . Si vous ajoutez un hook de pré-validation , vous pouvez effectuer un build / test avant que la validation ait lieu. Le script hook s’exécutera sur le serveur.

Autres conseils

Vous avez besoin d’un serveur d’intégration continue tel que CruiseControl. Ceci surveillera svn les modifications, lancera une validation sur une validation, suivra avec une exécution de la suite de tests et signalera les erreurs directement dans la barre d'état système (ou dans un courrier électronique ou toute autre notification avec laquelle vous vous sentez à l'aise). Vous devez configurer votre CruiseControl en écrivant un petit script (XML principalement) qui définit les besoins de votre projet. Recommandé .. vous ne reviendrez pas une fois que vous l'avez goûté. En voici un que j'ai mis en place dans la journée

Mise à jour : je ne pense pas qu'il y ait une vérification globale du type de réglage de toutes les branches. Chaque branche doit avoir une URL de coffre différente ... ce qui signifie un projet différent pour CruiseControl. Si vous suivez la méthode recommandée pour créer des branches de subversion ( voir ici ), Puisque CruiseControl lui-même semble utiliser des branches dans Subversion, cela semble être la voie à suivre.

Je configurerais également un processus de construction / déploiement automatisé. Découvrez le régulateur de vitesse - il peut exécuter les tests unitaires avant le déploiement.

http://cruisecontrol.sourceforge.net/

Utilisez Buildbot .

Cet utilitaire appelé svn_buildbot.py peut être appelé à partir de votre script de post-validation de subversion.

Buildbot est subversion (ainsi que de nombreux autres systèmes VC), il peut donc être configuré pour extraire les nouvelles révisions des branches dans lesquelles vous avez validé. Il fournit également des notifications par courrier électronique et une interface Web pour la vérification de l’état et la génération forcée d’une révision / branche particulière.

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