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.
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.
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.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.