Python Doctst

Python Doctst
«Nous savons que le docstring de Python fournit plus de détails sur ses fonctions et ses classes. Les forfaits Doctst rédigent le programme qui commence par >>> et contraste les résultats avec ce qui était prévu. En exécutant des illustrations incluses dans la spécification et en confirmant qu'ils fournissent les résultats souhaités, l'outil Doctst vous permet d'évaluer votre script. Il extrait des échantillons du texte de référence, les exécute, puis contraste les résultats avec la valeur cible.

Le fait qu'il n'y ait pas eu d'API à mémoriser dans la version la plus basique rend le doctst plus simple pour de nombreux programmeurs à utiliser sur unittest. La création de tests de doctst pourrait être plus difficile que de consommer un simple unittest, même si les instances deviennent plus compliquées car il n'y a pas de manipulation de ressources."

Exemple 01

Commençons avec le premier exemple de cet article maintenant. Nous avons commencé cet exemple avec l'importation du module «Doctst» à la première ligne. Après cela, nous avons défini une nouvelle fonction, «test» avec le paramètre «args» pointeur pointant vers l'utilisation de valeurs entières pour la méthode de test. Dans cette méthode, nous avons utilisé les citations triples pour transmettre les valeurs entières à la méthode «test» pour tester si la somme de toutes les valeurs transmises est égale à une certaine valeur définie dans la ligne suivante.

Ainsi, nous avons transmis les 5 valeurs à la méthode de test et nous nous attendions au résultat de 49 comme somme. Ensuite, nous avons essayé un autre test en passant trois nombres à la fonction de test en attendant le résultat de 22, et dans la dernière, encore, 5 valeurs ont été adoptées pour s'attendre au résultat de 15. La fonction sum () a pris les valeurs transmises à la fonction de test comme un argument et le renvoi de la somme de tous. La fonction testmod () du module Doctst de Python a été utilisée ici pour témoigner que la valeur calculée est la même que la valeur attendue. Sinon, il lancera une erreur sur notre console.

Enregistrons et exécutons ce programme dans l'outil Spyder 3 pour voir ce qui se passe dans la partie de test. Le code détaillé de cet exemple est vu dans la capture d'écran.

Après l'exécution de ce code Python, nous avons affiché la sortie ci-dessous. Il montre que le programme a essayé de tester les 5 valeurs et de s'attendre à 49 comme somme. La valeur renvoyée «OK» montre que le test a été passé et validé; La somme retournée est 49. Le test suivant a été appliqué à trois valeurs attendant 22 comme somme, tandis que le test a échoué car la somme que nous avons obtenue était de 21.

Après l'utilisation de la fonction de test Doctst sur les 5 valeurs suivantes, nous avons réussi le test comme prévu, et la valeur de somme retournée est de 15. En fin de compte, nous avons été signalés avec le résultat qu'un total de 2 tests ont été supprimés sur 3. Dans la capture d'écran, le résultat de cet exemple est montré.

Exemple 02

Nous avons utilisé un autre exemple pour utiliser le module Doctst dans notre code Python pour témoigner d'une condition mathématique différente. Nous avons donc commencé cet exemple avec l'importation de la fonction TestMod du package Doctst à Python. La fonction «fait» a été définie en prenant une valeur variable «V» comme argument. Les triples citations suivis du signe >>> utilisent la fonction Fact () pour découvrir le factoriel d'un «4» et «2» sur deux lignes différentes. Tandis que le résultat attendu serait de 24 et 3 dans ce cas.

La condition «IF» a été utilisée pour vérifier si la valeur de la variable «V» transmise à la fonction de fait est égale ou inférieure à 1 et renvoie 1; Sinon, la factorielle d'une valeur «V» serait calculée par les formules «V * FACT (V-1)».

La fonction Main () est là pour utiliser la fonction Tesmod () en utilisant la fonction «FACT» à l'intérieur. Ce serait tester que la factorielle des valeurs «4» et «2» transmises aux fonctions de fait () serait de 24 et 3 ou non. Ce programme a été enregistré et est prêt à l'emploi maintenant. Le code détaillé de cet exemple est vu dans la capture d'écran.

Après l'avoir exécuté, nous avons appris que le factoriel de 4 renvoyé par la fonction est de 24, ce qui est égal au résultat attendu, je.e. Le test a été passé dans ce cas, je.e. 24. Pour la deuxième valeur, le test a échoué car le factoriel prévu de 2 est 3 tandis que le résultat réel doit être 2. Ainsi, le rapport a affiché que 1 test a été passé pendant que 1 a échoué. Dans la capture d'écran, le résultat de cet exemple est montré.

Exemple 03

Dans cet exemple, nous avons importé la fonction TestMod de son module Doctst et en utilisant la fonction Check () pour vérifier que le résultat de la multiplication de deux valeurs est comme prévu ou non. Dans le premier appel de fonction, nous avons passé 5 et 3 et 15 en attente de résultats de multiplication, tandis que dans le deuxième appel de fonction, nous avons passé le caractère m et entier 3 tout en attendant «mmm» comme résultat de multiplication.

Le résultat de la multiplication «M * R» serait renvoyé à la fonction d'appel Main (). La fonction Main () appelle uniquement la fonction TestMod pour effectuer 2 tests. Ce programme est maintenant terminé et prêt à être exécuté. Le code détaillé de cet exemple est vu dans la capture d'écran.

En exécution, nous avons les mêmes valeurs pour les deux résultats de multiplication que le résultat attendu, je.e. 15 et «mmm». Dans ce cas, aucun cas de test n'a échoué, je.e. Les deux tests sont passés.

Conclusion

Ceci est tout au sujet de l'utilisation du package Doctst de Python dans nos codes pour tester les programmes. Pour cela, nous avons essayé trois exemples différents pour comparer la valeur résultante avec la valeur attendue des fonctions en prenant certains arguments. Les trois exemples sont simples et faciles à faire sur l'outil Spyder 3, et vous pouvez facilement apprendre le doctst en les pratiquant.