Tutoriel PyUnit : Python Cadre de tests unitaires (avec exemple)
Qu'est-ce que le test unitaire?
Tests unitaires in Python est fait pour identifier les bogues dรจs le dรฉbut de la phase de dรฉveloppement de l'application, lorsque les bogues sont moins rรฉcurrents et moins coรปteux ร corriger.
Un test unitaire est un test de niveau code scriptรฉ conรงu dans Python pour vรฉrifier une petite ยซ unitรฉ ยป de fonctionnalitรฉ. Le test unitaire est un framework orientรฉ objet basรฉ sur des appareils de test.
Python Techniques de tests unitaires
Python Les tests unitaires consistent principalement ร tester un module particulier sans accรฉder ร aucun code dรฉpendant. Les dรฉveloppeurs peuvent utiliser des techniques telles que des stubs et des simulations pour sรฉparer le code en ยซ unitรฉs ยป et exรฉcuter des tests au niveau unitaire sur les รฉlรฉments individuels.
- Dรฉveloppement pilotรฉ par les tests TDD : Les tests unitaires doivent รชtre effectuรฉs avec le Python, et pour cela, les dรฉveloppeurs utilisent la mรฉthode de dรฉveloppement pilotรฉ par les tests. Dans la mรฉthode TDD, vous concevez d'abord Python Testez unitairement et ensuite seulement vous continuez ร รฉcrire le code qui implรฉmentera cette fonctionnalitรฉ.
-
Talons et simulations : Ce sont deux techniques principales qui simulent de fausses mรฉthodes testรฉes. UN Talon est utilisรฉ pour remplir certaines dรฉpendances requises pour que le test unitaire s'exรฉcute correctement. UN Moquer d'autre part c'est un faux objet qui exรฉcute les tests oรน l'on met de l'assertion.
Les intentions des deux mรฉthodes sont les mรชmes : รฉliminer le test de toutes les dรฉpendances dโune classe ou dโune fonction.
Python Cadre de tests unitaires
Pour faciliter le processus de tests unitaires et amรฉliorer la qualitรฉ de votre projet, il est recommandรฉ de Python Cadre de tests unitaires. Le cadre de tests unitaires comprend
-
UnitรฉPy : PyUnit prend en charge les appareils, les cas de test, les suites de tests et un programme d'exรฉcution de tests pour les tests automatisรฉs du code. Dans PyUnit, vous pouvez organiser les cas de test en suites avec les mรชmes accessoires
-
Nez: Les plug-ins intรฉgrรฉs de Nose vous aident avec la capture de sortie, la couverture de code, les doctests, etc. La syntaxe de Nose est assez simple et rรฉduit les obstacles ร l'รฉcriture de tests. Il s'รฉtend Python unittest pour faciliter les tests.
- Document : Le script de test Doctest est placรฉ dans docstring avec une petite fonction au bas du fichier. Doctest vous permet de tester votre code en exรฉcutant des exemples inclus dans la documentation et en vรฉrifiant qu'ils ont renvoyรฉ les rรฉsultats attendus. Le cas d'utilisation de doctest est moins dรฉtaillรฉ et ne prend pas en compte les cas particuliers. Ils sont utiles en tant que documentation expressive du cas d'utilisation principal d'un module et de ses composants.
Tests unitaires avec PyUnit
Pyunit est un Python port de JUnit. Faisant partie de Pyunit, le module unittest contient cinq classes clรฉs.
- Classe TestCase: La classe TestCase supporte les routines de test et fournit des hooks pour crรฉer chaque routine et nettoyer par la suite
- Classe TestSuite: Il sert de conteneur de collection et peut possรฉder plusieurs objets de cas de test et plusieurs objets de suites de tests.
- Classe TestLoader: Cette classe charge les cas de test et les suites dรฉfinis localement ou ร partir d'un fichier externe. Il รฉmet une suite de tests qui possรจde ces suites et cas
- Classe TextTestRunner: Pour exรฉcuter les tests, il propose une plate-forme standard pour exรฉcuter les tests
- La classe TestResults: Il propose un conteneur standard pour les rรฉsultats des tests
Concevoir un cas de test pour Python Test avec PyUnit
Un test unitaire fournit une classe de base, un scรฉnario de test, qui peut รชtre utilisรฉ pour crรฉer de nouveaux scรฉnarios de test. Pour concevoir le scรฉnario de test, trois ensembles de mรฉthodes sont utilisรฉes :
unittest.TestCase
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
Dans le premier ensemble se trouvent les crochets prรฉ et post-test. La mรฉthode setup() commence avant chaque routine de test, la mรฉthode teardown() aprรจs la routine.
Le deuxiรจme ensemble de mรฉthodes contrรดle lโexรฉcution des tests. Les deux mรฉthodes prennent une chaรฎne de message en entrรฉe et annulent toutes deux un test en cours. Mais la mรฉthode skiptest() abandonne le test en cours tandis que la mรฉthode fail() l'รฉchoue complรจtement.
La derniรจre ou la troisiรจme mรฉthode aide ร dรฉterminer le test. La mรฉthode id() renvoie une chaรฎne composรฉe du nom de l'objet testcase et de la routine de test. Et la mรฉthode courteDescription() renvoie le commentaire docstr au lancement de chaque routine de test.
Avantages de l'utilisation Python Tests unitaires
- Il vous aide ร dรฉtecter les bugs dรจs le dรฉbut du cycle de dรฉveloppement
- Cela vous aide ร รฉcrire de meilleurs programmes
- Il se synchronise facilement avec d'autres mรฉthodes et outils de test
- Il y aura beaucoup moins de bugs
- Il est plus facile de modifier ร l'avenir avec trรจs peu de consรฉquences



