cours et tutoriel python

Programmation avec le langage POO python: Testing python

Python est un langage interprété. Cela lui donne une grande flexibilité, comme le typage de canard. Cependant, cela peut également conduire à différents types de problèmes communs.

Par exemple, si vous passez un float à une fonction qui ne devrait vraiment recevez un int, Python ne vous arrêtera pas, mais cela pourrait conduire à des événements inattendus comportement. En général, nous devons exécuter le code pour obtenir une erreur, mais pas tous les bogues généreront des erreurs. Dans le but d’écrire un code correct, nous utilisons des tests pour déterminer deux choses :

Est-ce que ça marche? Autrement dit, le code fait-il ce qu’il est censé faire ?

Est-ce que ça marche encore ? Pouvez-vous être sûr que les changements que vous avez apportés

n’a pas provoqué la rupture d’une autre partie du code ?

Ecrire du test 

Tester votre code signifie écrire plus de code qui vérifie que le comportement

correspond à vos attentes. C’est important:

Testez le comportement, pas la mise en œuvre.

Vous avez une idée de ce que le code est censé faire. Vous exécutez le code.

A-t-il fait ce que vous attendiez ? Que diriez-vous d’autres entrées? Dans le plus simple cas, vous pouvez simplement ajouter du code au bas du module.

class Doubler:
def __init__(self, n):
self._n = 2 * n
def n(self):
return self._n
if __name__ == ’__main__’:
x = Doubler(5)
assert(x.n() == 10)
y = Doubler(-4)
assert(y.n() == -8)

L’instruction assert lèvera une erreur si le prédicat qui la suit est FAUX. Sinon, le programme continue comme d’habitude. Les affirmations sont beaucoup mieux qu’une simple impression car vous n’avez pas à vérifier manuellement pour voir qu’il a imprimé ce que vous attendiez qu’il imprime. De plus, les gens ont tendance pour supprimer les anciennes instructions d’impression afin de réduire l’encombrement de leur sortie de test. Suppression tests après leur réussite est une très mauvaise idée. Votre code va changer, et vous voudrez savoir si un changement casse quelque chose qui fonctionnait auparavant.

La ligne if name == ’ main ’ : assure que les tests ne seront pas exécuté lorsque le module est importé d’un autre endroit. Pour certains, apprendre à tester leur code se heurte à un important

bloc. Ils estiment que tester le code révélera ses défauts et révélera ainsi les défauts du programmeur. Si vous ressentez la moindre hésitation à tester votre propre code, vous devez pratiquer le protocole OGAE. Il signifie, Oh bon, une Erreur!. Chaque fois que vous obtenez une erreur, vous le dites avec un enthousiasme honnête.

L’ordinateur vient de vous rendre un immense service en identifiant une erreur.

Tests unitaires avec unittest

Le type de test simple du module décrit ci-dessus convient aux petites des programmes qui ne seront plus nécessaires, mais pour tout ce qui est à distance sérieux, vous aurez besoin de tests unitaires appropriés. Le mot unité dans les tests unitaires signifie impliquer un seul cas indivisible. Ainsi, les tests unitaires sont censés tester un comportement spécifique d’une fonction spécifique. Cela signifie que vous aurez de nombreux tests et vous les exécuterez tous, chaque fois que vous modifierez le code.

Pour que le processus se déroule sans heurts, il existe un package standard appelé unittest pour écrire des tests unitaires en Python. Le paquet fournit une norme façon d’écrire les tests, la possibilité d’exécuter les tests tous ensemble et la possibilité de voir les résultats des tests dans un format clair.

python unittest

Dans les logiciels modernes ingénierie, les tests sont également exécutés automatiquement dans le cadre de la construction et du déploiement systèmes.

Pour utiliser le package unittest, vous souhaitez importer le package dans votre dossier d’essai. Ensuite, importez le code que vous souhaitez tester. Les tests réels seront des méthodes dans une classe qui étend la classe unittest.TestCase. Chaque essai

méthode doit commencer par le mot « test ». S’il ne commence pas par “test”, alors il ne fonctionnera pas. Les tests sont exécutés en appelant la fonction unittest.main.

Voici un exemple qui teste un comportement particulier d’un hypothétique

Classe DayOfTheWeek.

Autres articles

Instructions de base en Python - Exercices...
Python est un langage de programmation populaire et polyvalent, apprécié...
Read more
Héritage en Python : Comprendre les Fondements...
L'héritage est l'un des concepts fondamentaux de la programmation orientée...
Read more
Guide Complet sur les Nombres Premiers en...
Dans cet article, nous explorerons en détail ce...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *