J'écris un outil Pythonic qui valide l'exactitude d'un certain système. Chaque validation est écrite sous la forme Python unittest
, et le rapport ressemble à:
test_exclude_list_not_empty (__main__.TestRepoLists)
Assert the the exclude list is not empty ... ok
test_include_list_not_empty (__main__.TestRepoLists)
Assert the the include list is not empty ... ok
test_repo_list_not_empty (__main__.TestRepoLists)
Assert the the repo list is not empty ... ok
À mon avis, ce format est difficile à lire, surtout pour les non-pythonistes. Existe-t-il un générateur de rapport qui peut générer un rapport sous une forme tabulaire agréable, par exemple:
+----------------------------------------------------------------+-----------+
| Test | Status |
+----------------------------------------------------------------+-----------+
| Assert the the exclude list is not empty | OK |
| Assert the the include list is not empty | OK |
| Assert the the repo list is not empty | OK |
| All the items in the include list should be in the repo list | OK |
+----------------------------------------------------------------+-----------+
Clarification La suite de tests s'exécute sur un terminal distant, donc je préfère les outils de génération de rapports en ligne de commande.
Ce n'est pas exactement ce que vous demandez, mais il existe plusieurs options pour avoir une sortie de test lisible:
--with-xunit
produira des rapports de style junit xml faciles à lire et à convertirRegarde aussi:
Si vous voulez quand même voir les résultats des tests sous forme de tableau dans la console, je pense qu'une bonne idée serait d'écrire votre propre plugin de nez ou testeur basé sur unittest.TestProgram
Comme il a été fait en HTMLTestRunner .
J'espère que cela pourra aider.
Je voudrais ajouter mes informations en tant que commentaire dans la réponse d'Alecxe, mais je n'ai pas assez de réputation pour cela.
Dans le cas où quelqu'un cherche toujours une réponse, j'ai bifurqué HTMLTestRunner dans un TestRunner simple, qui a une sortie tabulaire, colorée et conviviale pour le terminal. Voici un exemple de sa sortie:
Le code source est à https://Gist.github.com/viniciusd/73e6eccd39dea5e714b1464e3c47e067
Je vais bientôt le réécrire à partir de zéro mais en conservant le format de sortie.
Jetez un oeil à Twisted's Trial .
Par défaut, il utilise le lanceur de test TreeReporter
, qui ressemble à:
Il présente les éléments suivants:
Il s'agit d'un rapport en ligne de commande, exécutez simplement:
trial test_name.py
Sortie couleur: rouge pour l'échec, vert pour le succès
Le rapport utilise une structure arborescente. Il affiche les tests sous les TestCases auxquels ils appartiennent, vous permettant de parcourir rapidement les résultats pour trouver un test spécifique. (Bien qu'il en fournisse quelques autres rapports ).
Il comprend également une bibliothèque de tests, dérivée de unittest.TestCase
De Python. Vous pouvez utiliser cette bibliothèque en sous-classant twisted.trial.unittest.TestCase
. Cela fournit quelques autres méthodes d'assertion .
Il comprend la possibilité de générer une couverture de relevé pour vos tests.