- 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
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie on va tester notre instance donc l'instance dans la base de données quicorrespond à cette propriété dbInstance. Donc ça c'est tout simplement une propriété qui nous
00:00:09 :permet de récupérer l'instance dans la base de données puisque quand on crée un utilisateurpar exemple à l'aide du prénom et du nom de famille, on peut souhaiter récupérer cesinformations depuis la base de données. Donc on va tester tout ça à l'intérieur de cette fonction
00:00:23 :ici. Donc on va utiliser notre utilisateur que l'on a créé dans le fixturesUser. Donc je vaisle mettre à l'intérieur des parenthèses ici, on va mettre user et on va tester si cet utilisateurexiste et si on a bien récupéré ces informations. Donc là dans ce cas-ci on a créé un utilisateur
00:00:39 :qui s'appelle Patrick Martin qui a une adresse et un phone number. Donc on va récupérer l'instanceet on va vérifier que l'instance en mémoire elle correspond bien à une instance de TinyDB donc ànotre instance ici qui est une instance de Table.Document. Si vous vous souvenez bien dans
00:00:56 :la partie où on avait créé cette fonction ici, on avait vu que en fait ici ça nous retourne non pasun dictionnaire mais une instance d'un objet Table.Document. Donc on pourrait le spécifier
00:01:06 :d'ailleurs ici pour que ce soit plus clair donc Table.Document comme ceci. Là bien sûr si on lefait il faut importer Table depuis TinyDB et comme ça on a bien ici notre annotation de typequi nous indique qu'on retourne un objet de type Table.Document. Donc on va tester déjà qu'on a
00:01:21 :bien récupéré un objet comme ceci et on va également vérifier qu'on a bien les bonnesvaleurs associées aux attributs. Donc je vais juste faire un petit peu de place ici dans les tests
00:01:29 :qu'on a déjà fait et on va prendre donc notre test DBInstanceUser. On va déjà vérifier queDBInstance ici est bien de type Table.Document donc pour ça on peut utiliser la fonction
00:01:41 :IsInstance et on va vérifier que donc User.DBInstance est bien de type Table.Document.Donc là encore il va falloir importer au début de notre script l'objet Table depuis TinyDB pourpouvoir l'utiliser ici. Donc là on vérifie juste que quand on a un utilisateur que l'on récupère
00:01:58 :depuis notre base de données TinyDB on a bien le bon type d'objet. Ensuite on va mettre d'autresAsserts à l'intérieur de cette fonction de test donc on va tester dans ce cas ci que les élémentsqui sont sur notre DBInstance donc le FirstName, le LastName etc correspondent bien à ce qu'on
00:02:15 :avait dans notre utilisateur ici. Donc je vais créer un autre Assert et on va tester que User.DBInstanceon met des crochets et on fait le FirstName ici donc on récupère les valeurs associées à notreinstance donc ça c'est par exemple dans le fichier JSON quand on récupère une instance on va récupérer
00:02:32 :ce dictionnaire ici et on souhaite vérifier que si on crée une instance de Patrick Martin et bienon va bien récupérer ces informations ici. Donc je reviens dans mon test User.DBInstance.FirstName
00:02:42 :et on va vérifier que c'est égal à Patrick. On va faire la même chose pour tous les attributsdonc on a le LastName, le Address donc je vais juste copier l'adresse parce que je ne m'ensouviendrai pas et le LastName donc c'est Martin, PhoneNumber ok donc je vais dupliquer ces lignes
00:02:56 :ici pour ça je fais commande D sur Mac donc j'imagine que sur Windows c'est contrôle D. Onva faire LastName ici, on va checker Martin, on va vérifier ensuite l'adresse, on va vérifier donccette adresse ici et pour finir on a le PhoneNumber donc PhoneNumber et le PhoneNumber c'était 0 1 2
00:03:15 :3 4 5 6 7 8 9. Donc on va vérifier tout ça, on lance notre test et notre test passe correctementdonc on a bien récupéré notre instance de la base de données donc l'instance en mémoire dans ce casci et on a bien vérifié tous les attributs qui correspondaient donc à ce qu'on avait sauvegardé
00:03:32 :dans notre base de données. Donc si je change n'importe quoi ici par exemple si j'enlève le 9cette fois ci notre test ne passera pas donc je vais le relancer et là effectivement le test nepasse pas. Il nous dit effectivement qu'il s'attendait à avoir 0 1 2 3 4 5 6 7 8 donc c'est ce
00:03:45 :qu'on a mis ici et à la place il a eu 0 1 2 3 4 5 6 7 8 et le 9. Donc on va remettre le 9 ici pour
00:03:51 :que notre test fonctionne. Voilà donc là ça fonctionne correctement. Donc on a vérifié quequand on a un utilisateur qui est sauvegardé on peut récupérer ses informations depuis la basede données et maintenant on va vérifier l'inverse. Donc je vais faire une autre fonction ici on va
00:04:05 :l'appeler test not db instance. On ne va pas utiliser notre fixtures user ici on va fairecomme on l'avait fait pour notre fonction not exist on va créer un utilisateur comme ceci. Alors
00:04:16 :là je pourrais faire un autre fixtures que je commence à copier-coller des lignes de code. Onpourrait faire un autre fixtures qui fait en fait un utilisateur mais qui ne le sauvegarde pas dansla base de données. Bon là vu que c'est juste une ligne de code au final on a l'impression qu'il y
00:04:28 :a beaucoup de lignes puisque j'ai mis tout à la ligne comme ça mais finalement c'est une seuleligne de code tout ça donc je préfère dans ce cas-ci faire un copier-coller ce n'est pas trèsgrave. Donc on va recréer un utilisateur que cette fois-ci on ne va pas sauvegarder dans la base de
00:04:40 :données donc dans ce cas-ci on va faire un assert pour vérifier que u.db instance est bien nonepuisque dans ce cas-ci si on revient sur le crm et bien si l'utilisateur n'est pas trouvé àl'intérieur de la base de données le get ici de notre user.db donc le get de tinyDB ça nous
00:04:57 :retourne un objet de type none donc on va vérifier qu'on a bien ça ici je lance mon test le test nepasse pas alors pourquoi parce que tout simplement là encore on a fait l'erreur de ne pas mettre lesetup.db donc là encore on était avec notre db.json donc je refais exactement la même erreur
00:05:15 :que tout à l'heure et quand on fait le db.json et bien on récupère effectivement les informationsici donc nous on va remettre le setup.db pour repartir de notre base de données en mémoire
00:05:24 :et quand on a notre base de données en mémoire ici si on ne fait pas un u.save l'utilisateur ne serapas sauvegardé dans la base de données et le db instance ici sera bien égal à none donc on vavérifier si je me trompe pas et là effectivement ça passe correctement. Donc voilà pour les deux
00:05:39 :fonctions de test vous voyez qu'à chaque fois c'est intéressant de faire les deux cas de figuredonc le cas de figure où on a quelque chose et le cas de figure où on n'a rien donc là je metsjuste un note pour préciser que c'est l'inverse de ce qu'on avait ici donc j'aime bien comme ça
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.