Framework UnitTest - Gestion du signal

Une gestion plus efficace de control-C pendant une exécution de test est fournie par l'option de ligne de commande -c / - catch pour unittest, avec l'option catchbreakparamètre. Avec le comportement catch break activé, control-C permettra au test en cours de se terminer, et l'exécution du test se terminera et rapportera tous les résultats jusqu'à présent. Un second control-c lèvera un KeyboardInterrupt de la manière habituelle.

Si le gestionnaire unittest est appelé mais que le gestionnaire signal.SIGINT n'est pas installé, il appelle le gestionnaire par défaut. Ce sera normalement le comportement attendu par le code qui remplace un gestionnaire installé et lui délègue. Pour les tests individuels qui nécessitent une gestion unittest control-c désactivée, le décorateur removeHandler () peut être utilisé.

Les fonctions utilitaires suivantes activent la fonctionnalité de gestion control-c dans les cadres de test -

unittest.installHandler ()

Installez le gestionnaire control-c. Lorsqu'unsignal.SIGINT est reçu tous les résultats enregistrés ont TestResult.stop () appelé.

unittest.registerResult (résultat)

Enregistrer un TestResultobjet pour la gestion control-c. L'enregistrement d'un résultat stocke une référence faible à celui-ci, ce qui n'empêche pas le résultat d'être récupéré.

unittest.removeResult (résultat)

Supprimez un résultat enregistré. Une fois qu'un résultat a été supprimé, TestResult.stop () ne sera plus appelé sur cet objet de résultat en réponse à un contrôle-c.

unittest.removeHandler (fonction = Aucun)

Lorsqu'elle est appelée sans arguments, cette fonction supprime le gestionnaire control-c s'il a été installé. Cette fonction peut également être utilisée comme décorateur de test pour supprimer temporairement le gestionnaire pendant l'exécution du test.

Testeur d'interface graphique

Le module unittest est installé pour découvrir et exécuter des tests de manière interactive. Cet utilitaire, un script Python 'inittestgui.py' utilise le module Tkinter qui est un port Python pour le kit d'outils graphiques TK. Il donne une interface graphique facile à utiliser pour la découverte et l'exécution de tests.

Python unittestgui.py

Cliquez sur le bouton «Découvrir les tests». Une petite boîte de dialogue apparaît dans laquelle vous pouvez sélectionner le répertoire et les modules à partir desquels le test doit être exécuté.

Enfin, cliquez sur le bouton Démarrer. Les tests seront découverts à partir du chemin et des noms de module sélectionnés, et le volet des résultats affichera les résultats.

Pour voir les détails du test individuel, sélectionnez et cliquez sur test dans la zone de résultat -

Si vous ne trouvez pas cet utilitaire dans l'installation de Python, vous pouvez l'obtenir à partir de la page du projet http://pyunit.sourceforge.net/.

Un utilitaire similaire basé sur la boîte à outils wxpython y est également disponible.