2009-11-06 4 views
4

Nous avons une application Web basée sur python avec ses cas de test unitaires. Notre besoin est d'automatiser le processus d'exécution des cas de test unitaires. Ils devraient fonctionner soit après chaque vérification OU après chaque intervalle de temps fixe. Avec un minimum d'effort et de temps, quel est le meilleur outil que nous pouvons utiliser pour automatiser ce processus. Nous utilisons Linux comme OS et git comme contrôle de source.Exécuter des cas de test unitaires en Python

Répondre

3

Vous cherchez essentiellement des outils et des processus continuous integration (je mentionne le terme d'art car il vous aide à approfondir le sujet). buildbot est le système Python le plus populaire pour le but et je le recommanderais - voir here pour plus.

1

Votre but est d'identifier les vérifications qui ont provoqué l'échec des tests. Grande intuition!

Vous utilisez Git, vous pouvez donc commencer par githooks, ce qui vous permettrait de créer un script post-commit qui exécute les tests après une validation. Si vous vous sentez gutsy vous pourriez même rejeter les commits des utilisateurs si les tests échouent - consultez this chapter in Pro Git pour plus d'informations.

Alex a raison sur l'intégration continue et Builtbot:

En reconstruisant automatiquement et tester l'arbre chaque fois que quelque chose a changé, construire des problèmes sont mis le doigt rapidement, avant que d'autres développeurs sont incommodés par le échec. Le développeur coupable peut être identifié et harcelé sans intervention humaine . En exécutant les builds sur une variété de plates-formes, les développeurs qui n'ont pas les moyens de tester leurs changements partout avant checkin seront au moins savoir après peu de temps si elles ont rompu la construction ou non. compte d'avertissement, les peluches chèques, taille de l'image, le temps de compilation et d'autres paramètres de construction peuvent être suivis au fil du temps, sont plus visibles, et sont donc plus facile à améliorer. »

2

Hudson est un bon choix pour - Je l'ai utilisé avec succès dans le passé, il surveillera le dépôt git pour les changements, exécutera les tests et rendra compte des échecs, il maintiendra un historique des tests dans votre projet, il aura un grand nombre de pluginspython Le plugin Cobertura fournit des rapports de couverture de code et le plugin de violations intégré avec pylint pour vous donner une idée de la qualité de votre code

Il y a un bon article pour le configurer sur Setting up a Python CI Server sur le Rhonabwy.com.

+0

@ cb160, je suis capable de configurer Hudson. Pourriez-vous m'aider à configurer la partie du référentiel git du moniteur automatique? –

Questions connexes