Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

JavaScript : Les tests unitaires et fonctionnels

Ajouter des méthodes avant et après

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
En choisissant une méthode avant et après appropriée, vous pourrez exécuter des actions avant et après un test, ou une suite de tests.
04:57

Transcription

Je ne sais pas si c'est choquant pour vous mais pour moi ça l'est, actuellement dans notre suite de tests, ici, on répète la même chose. Ça fonctionne très bien, mais on vient instancier l'objet avec var message à chaque fois, dans chaque test, c'est un peu embêtant, puisque chacun de nos cas de tests va vérifier à la limite une propriété particulière, ça peut être intéressant, mais on pourrait réduire ça. D'abord on pourrait ne faire qu'un seul cas en disant que l'objet contient les trois propriétés, on mettrait les trois avec quatre tests et on en parlerait plus. C'est mieux de faire des tests unitaires, on va tester des unités réellement et plus vous aurez un cas qui teste une particularité à chaque fois, plus votre test sera granulaire ou granuleux ou comme vous voulez en tout cas il sera en l'occurrence testé pleinement et ça je vous le conseille. Ici, pour ne pas avoir à instancier à chaque fois comment on va faire ? Il existe deux méthodes différentes, le after qu'on va pouvoir mettre en place after each et before each, avant et après chaque cas de tests et le before all et after all qui sont les méthodes qui nous permettent d'instancier. Ici, typiquement pour réduire l'impact du code, on pourrait tout simplement supprimer cette partie-là et on pourrait en haut créer une var message qui va être utilisée à l'intérieur, donc, on va la faire un peu de façon globale, et on va récupérer un before each avant chaque cas, on va venir recréer l'objet et on va garantir que cet objet sera disponible pour le cas de test. Donc concrètement, on va supprimer cette partie-là et ici on va simplement rajouter que la variable message va être 'julien' 'hello', par exemple. En faisant ça, ça veut dire qu'ici on va chaque fois ajouter un message différent. Je vais faire enregistrer, effectivement, ça veut dire qu'avant chacun, j'ai trois messages. Ici, imaginons que je valide la collection, je vais maintenant dire comme ça it("la collection") comporte toutes les lignes. Je vais ajouter du coup une petite fonction comme ça et je vais essayer de vérifier la taille de ma collection. A-t-on une méthode pour la taille de la collection ? Oui, c'est getSizeOfChat, qui permet de récupérer la taille. Donc, si on fait ici expect(getSizeOfChat()).be ou on pourrait mettre un equal, donc là, on a le equal qui est au-dessus, toEqual par exemple, ici, qui est typiquement le bon cas de test, toEqual, on pense qu'il n'y en a qu'un seul dedans, car on ne l'a fait qu'une seule fois ici, donc, il n'y en a qu'un par exemple. On va lancer, et non, ça marche pas, il n'y en a pas un seul, il y en a quatre. Pourquoi ? Parce qu'on a fait un before each, un, deux, trois, quatre cas de test. Mais ça, c'est mauvais, parce que du coup c'est pas du tout ce qu'on aime, pas du tout ce qu'on voudrait. Déjà on pourrait sortir celui-ci, on pourrait ici faire un nouveau describe qui serait du coup la collection... la collection dispose des bonnes informations. Là, on va rajouter une petite fonction et on va se dire OK, la collection dispose des bonnes informations, qu'est-ce qu'on veut faire ? On veut d'abord avoir un cas de test que la collection comporte toutes les lignes. C'est pareil, ici, on aimerait en avoir qu'une seule parce qu'on a instancié qu'une seul fois. Alors si je fais ça, que va-t-il se passer ? Il va se passer que, actuellement, je vais avoir combien de lignes ? Trois. Bah oui, c'est normal, car regardez, ça se lance à chaque fois. Maintenant, si je veux que ça ce soit correct, il faut pas que je fasse un before each, mais il faut que je fasse un peu plus bas un before ici, donc là, on va avoir le before all. Parce que le before all va être fait une seule fois et pas plusieurs fois. Donc, le before all on va l'intégrer ici, ça veut dire que j'aurais une seule fois avant tout ce qui va se jouer en-dessous, donc je valide, je crée une structure, en fait une seule fois, et ensuite, je la joue. À ce moment là effectivement je n'aurai qu'une seule ligne dans mon chat. Ça, je peux le vérifier, je peux créer des cas et des scénarios test et vous voyez que je peux ajouter au fur et à mesure, et ces méthodes-là before all, before et after all, et, bien sûr, celles qu'on a jouées juste avant, vous permettent de mettre à jour des valeurs parce que vous pourriez aussi détruire la collection à un moment, voilà, vous pouvez vraiment travailler avec ces méthodes-là pour implémenter des choses qui vont se faire avant chacun ou avant tout et qui vont se faire après pourquoi pas. Quand vous utilisez ces méthodes-là, si vous utilisez le after, je vous conseille vraiment si vous l'utilisez de le mettre à la fin. Comme ça ce sera plus visible, vous verrez tout ce qui doit se jouer et ensuite à la fin, ce qui doit se faire à la fin. Ce n'est pas forcément le cas pour le coup avec l'autre, pourquoi ? Car on peut les mettre directement sachant que c'est pour chaque jeu de test. Voilà les deux méthodes qui sont très importantes quand vous écrivez des scénarios parce qu'elles vont vous permettre d'instancier, de vérifier des choses et de les créer avant de faire les vérifications, ce qui est extrêmement important pour des cas de test.

JavaScript : Les tests unitaires et fonctionnels

Réalisez des tests unitaires avec Jasmine et des tests fonctionnels avec CasperJS. Testez le code source et le rendu visuel de votre application, et optimisez vos développements.

1h54 (31 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Jasmine Jasmine 2.5
CasperJS CasperJS 1.1.4
Spécial abonnés
Date de parution :5 avr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !