Exécuter une seule classe de test avec unittest, nosetests, py.test

By | avril 12, 2019

Formation gratuite Python

J'ai reçu le code de test de la syntaxe et de la référence de flux unittest, et je veux essayer de lancer une classe, disons TestSkip de Unittest, Nosetests, et Pytest, pour comparer le flux de contrôle.

Par conséquent, j'ai besoin pour chaque cadre:

  • La possibilité de le rendre aussi silencieux que possible (-q pour tous)
  • L'option pour désactiver la capture de sortie (-s fonctionne à la fois pour pytest et nose, pas nécessaire pour unittest)
  • La façon d'appeler une classe individuelle (c'est là où ils diffèrent tous.

Test de l'unité

Spécifier nom_module.nom_classe, ainsi:

nosetests

Spécifier nom_module: nom_classe, ainsi:

pytest

Spécifier nom_fichier.py::className, ainsi:

J'ai décrit à l'origine en utilisant -k expression choisir le test – Merci Holger, pour la correction et les infos !!

Résultats préliminaires

Je suis encore en train de comparer les performances les plus strictes du nez et du py.test.
Cependant, jusqu'à présent, ils ont tous deux l'air plutôt bien, à une exception près.
Il ne semble pas que la version de pytest que j’exécute (2.3.5) supporte unittest setUpModule () et tearDownModule ().
Je sais qu'il supporte le nez setup_module () et teardown_module (), mais apparemment pas la moindre orthographe de ces fonctions.

Je vais faire une comparaison plus approfondie dans un prochain article.