- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Maintenant qu'on a créé notre premier test, on va devoir l'exécuter pour vérifier s'il fonctionne.Et ce processus d'exécution va être effectué généralement automatiquement à la fin du déploiement d'une application.
00:00:12 :Donc quand on va écrire du code dans notre application, qu'on va vouloir le pousser en production,automatiquement vous allez avoir ces tests qui vont être exécutés par différents services disponiblesqui vont vous permettre de vérifier si votre code fonctionne toujours correctement ou non.
00:00:27 :Dans ce cas-ci, on va lancer cette exécution à la main.Alors il y a plusieurs façons de faire. La première façon de faire, c'est en exécutant directement le fichier test.py.
00:00:35 :Pour ça, on va importer après notre test case ici, une fonction qui s'appelle main qui est contenue à l'intérieur de unitest.Et cette fonction, on va tout simplement l'exécuter à la fin dans notre script ici.
00:00:47 :Et ça, ça va nous permettre d'exécuter les tests en lançant directement le fichier test.py.Cette fonction main, c'est un point d'entrée qui va automatiquement détecter toutes les classesqui contiennent des tests et exécuter les tests à l'intérieur de ces classes.
00:00:59 :Donc si j'ouvre un terminal et que dans mon terminal, j'exécute avec Python ce fichier test.py,donc en faisant python test.py ou juste test, on n'est pas obligé de mettre l'extension,
00:01:10 :je valide en appuyant sur entrée. Là, vous voyez qu'on a bien run one test in 0.000 secondes.Donc là, c'est tellement rapide de faire ce petit test ici qu'on n'a même pas le détailpuisque c'est tellement rapide que ça prend moins d'un millionième de seconde.
00:01:24 :Run, c'est le participe passé de run, donc qui veut dire exécuter,donc ça veut dire qu'on a exécuté un test en 0 secondes.On n'a pas le détail des tests ici. Si vous voulez avoir plus d'informations,
00:01:35 :on peut mettre "-v après", et là, vous allez voir le détail des tests qui ont été exécutés.Dans ce cas-ci, on a bien notre fonction test add to numbers,qui est cette fonction ici dans laquelle on avait notre test.
00:01:46 :Vous pouvez également spécifier avec le flag "-"- verbose,donc c'est juste un raccourci "-v", ça permet d'être plus rapide.Le flag complet, c'est "-- verbose", verbose qui veut dire entre guillemets verbeux,donc qui veut dire qu'on va avoir plus d'informations.
00:02:00 :Donc là, ça marche également avec "-- verbose".On a également le détail des tests qui sont effectués.Si je change mon test pour le faire échouer, donc par exemple si je mets 20 ici,on n'aura donc plus 15 qui est égal à 20, donc je vais relancer mon test
00:02:13 :avec là encore le paramètre verbose ou "-v".Là, vous voyez qu'on a un test qui a échoué.Donc qu'est-ce qu'on a ici ? On a notre test, c'est indiqué fail,
00:02:22 :qui veut dire que ça n'a pas fonctionné.On va avoir ensuite le détail de ce qui n'a pas fonctionné.On voit que c'est dans notre fichier test.py à la ligne 8,
00:02:30 :qui correspond bien à cette ligne dans laquelle on teste l'égalitéentre le résultat de notre fonction et le nombre 20.Et dans ce cas-ci, on a une erreur qui est levée, une erreur de type assertion error,qui nous indique que 15 est différent de 20.
00:02:43 :Donc le test vérifiait l'égalité entre ces deux éléments ici.Donc pour passer le test, il faut que les deux éléments soient égaux.Et là, les deux éléments ne sont pas égaux, donc on a une erreur.
00:02:52 :Et il nous indique ici le nombre d'erreurs.Donc on a une error sur notre test.Dans ce cas-ci, on n'a qu'un seul test.Mais si on avait plusieurs tests, par exemple, vous pourriez voir en lançant ce fichierle nombre de tests qui ont été correctement passéset le nombre qui n'ont pas été correctement passés.
00:03:08 :Donc ça, c'est en utilisant la fonction main.C'est généralement pas la façon qu'on va l'utiliser.Je voulais quand même vous la montrer pour vous montrer que c'est possibleen utilisant directement Python et en ciblant notre fichier de lancer les tests.
00:03:19 :Généralement, ce qu'on va faire, c'est qu'on va passer par le module unitest.Donc je vais enlever tout ça, je vais rouvrir mon terminalet je vais utiliser le module unitest.
00:03:27 :Donc pour lancer le module unitest, on va utiliser python-mqui signifie qu'on veut utiliser un module.On spécifie le nom du module, donc dans ce cas-ci unitest.
00:03:37 :Et là, on va spécifier le fichier qu'on veut tester,donc dans ce cas-ci, encore une fois, test.Et on n'a même pas besoin de mettre l'extension.
00:03:44 :Donc là, c'est vraiment le nom du fichier.Si mon fichier s'appelait bonjour, je spécifierais ici bonjour à la place de test.C'est vraiment le nom du fichier que vous mettez ici.
00:03:51 :Dans ce cas-ci, quand on a des fichiers qui sont explicitement nommés test,on pourrait même ne rien mettre et automatiquement le moduledécouvrirait tous les fichiers qui s'appellent test à l'intérieur de notre structure de dossier.
00:04:02 :Donc là, si je fais entrer, vous voyez qu'on a le test qui est exécuté,qui dans ce cas-ci ne marche pas non plus.Donc je vais remettre mon 15 pour que le test fonctionne.
00:04:10 :Je relance mon test.Donc comme je vous dis, on peut spécifier ou non le fichier qu'on veut lancer.Si on ne met pas le fichier, là, ça va lancer tous les tests qu'on a à l'intérieur de testunitaire.
00:04:19 :Donc si, par exemple, j'avais renommé mon fichier,donc je pourrais le renommer testmain.Imaginez qu'on ait d'autres fichiers de test qui vérifient d'autres fichiers dans lesquels se trouve du code.
00:04:27 :Et si vous vouliez donc tester tous ces fichiers d'un coup,on pourrait lancer donc python-m unitest sans spécifier le fichier qu'on veut lancer.Et ça lancerait tous les fichiers qui contiennent test au début dans leur nom.
00:04:39 :Si on veut spécifier un fichier précis, on peut le spécifier en mettant le nom du fichier.Donc dans ce cas-ci, je vais spécifier que je veux uniquement lancer les tests à l'intérieur de test-main.
00:04:49 :Et ça va lancer les tests uniquement sur ce fichier.Donc c'est pratique d'avoir ce niveau de contrôlepuisqu'il arrive parfois que certains tests soient assez longs à exécuter.
00:04:56 :Par exemple, quand vous avez des bases de données ou des choses du genre,ça peut être un peu long à lancer tous les tests à chaque fois.
00:05:02 :Donc c'est très pratique de pouvoir lancer comme çauniquement les tests qui sont contenus à l'intérieur d'un fichier.Également avec ce module, on peut remettre l'option "-v", ou "--verbose",pour avoir plus d'indications sur les tests qui sont lancés grâce à cette commande.
00:05:16 :Donc voilà deux façons qui nous permettent de lancer les tests.Il existe encore d'autres façons de faire, mais ça c'est vraiment les deux principales.Et celle qu'on utilise le plus souvent, c'est directement en passant par le module Unitest.
00:05:27 :Pour finir, je vais vous montrer qu'on peut le faire aussi directement depuis PyCharm.Vous voyez qu'on a des flèches ici qui nous permettent de lancer soit la classe au complet.
00:05:35 :Donc si je clique sur la première flèche, ça va exécuter tous les testsqui sont trouvés à l'intérieur de cette classe.Donc toutes les fonctions qui commencent par test et qui ont quelque chose après.
00:05:43 :Ou alors je peux lancer uniquement une des fonctions à l'intérieur de cette classe.Donc en cliquant par exemple sur cette flèche ici.On peut également faire un clic droit sur notre fichieret cliquer ici sur Run Unitest in test-main.
00:05:56 :Donc c'est à vous de voir ce que vous préférez.Moi je vais cliquer ici directement sur la petite flècheet je vais sélectionner cette entrée pour lancer tous les tests.
00:06:03 :Et là vous voyez qu'on a un affichage un petit peu différent.Donc ce n'est pas le terminal directement.PyCharm va passer par cet onglet Run qui est l'onglet qu'on utilise quand on a des configurations ici.
00:06:12 :Vous remarquez également qu'il a créé une configuration que je peux éditer.Et dans cette configuration vous voyez qu'on a différentes options.Par exemple l'interpréteur Python qu'on souhaite utiliser pour les tests.
00:06:21 :Donc ça peut être pratique dans certains cas de figure.Et là vous voyez qu'on a un affichage un peu plus sympathiqueavec un aperçu de notre fichier, de notre classe et de notre fonction.
00:06:30 :Donc si vous avez beaucoup de fichiers, beaucoup de classes, beaucoup de fonctions,c'est assez pratique d'avoir cet affichage directement dans PyCharmqui vous permet également de filtrer avec les deux icônes iciles tests qui ont réussi ou les tests qui ont échoué,de collapser tout ça, de tout étendre.
00:06:45 :Donc là encore je vous laisse explorer un petit peu ce panneau plus en détailsi vous voulez voir toutes les options qui sont disponibles.Il y en a beaucoup et c'est vraiment très pratique là encore une foisde pouvoir exécuter nos tests en passant par les configurationsou directement par les petites flèches ici
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.