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.
La méthode join en Python est un outil puissant pour concaténer des éléments d'une séquence…
Le suivi des objectifs est essentiel pour assurer la progression et le succès dans tout…
La gestion des congés est un élément essentiel de la gestion des ressources humaines. Elle…
Gérer efficacement un portefeuille boursier est essentiel pour atteindre ses objectifs financiers tout en minimisant…
L’offre commerciale est un élément essentiel dans le développement de toute relation d’affaires. Bien conçue,…
Pour qu'une proposition commerciale soit percutante et engageante, elle doit être personnalisée en fonction des…
This website uses cookies.