Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

JavaScript : Le débogage et l'analyse de code

Tester son code avec Jasmine

Testez gratuitement nos 1343 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Découvrez Jasmine, un outil qui vous permettra de couvrir le code en test unitaire et de garantir les non-régressions.
04:59

Transcription

Je vais vous parler de Jasmine. Jasmine est un framework de test pour le JavaScript mais qui peut s'utiliser aussi pour d'autres langages. Ça va nous permettre de tester notre code de façon unitaire pour être sûr que tout fonctionne bien. Le gros problème qu'on va avoir avec le projet qu'on a actuellement, c'est qu'il est mal codé. On ne doit jamais coder comme ça sinon on ne peut pas tester. Laissez-moi vous expliquer pourquoi. Actuellement ici, regardez ce qui se passe. On a tout mis dans un« Scope » jQuery. Ça ne marchera pas, on ne pourra pas le tester de façon unitaire parce que ça dépend fortement de jQuery. Ce qu'il aurait fallu faire, si on a envie de tester la fonction « pluralize », ça aurait été de la sortir dans un fichier et de la rendre un peu unique. Ce que je vous invite vraiment à faire c'est de découper votre code et de faire des codes un peu uniques qui vont vous permettre de tester le code quand vous êtes en train de l'écrire ou même de le tester à l'avance, c'est encore mieux : vous écrivez le test et vous écrivez ensuite le code qui va avec. Pour faire ça, on va avoir besoin de le sortir ce code-là. En l'état, ce n'est pas du tout testable. Si vous commencez à vouloir rajouter ce code-là dans un test, il va vous dire que « Handlebars » ne va pas exister, vous serez obligé de le charger. Il va vous dire que jQuery n'existe pas. C'est une horreur. Autant tout sortir, avoir un code propre et des petites fonctionnalités dans chaque fichier, et, comme ça, pouvoir travailler. Comment ça s'installe ? Vous allez installer Jasmine comme ça : « npm install --save-dev Jasmine ». Comme ça, ça va se mettre de côté dans votre fichier « npm ». Une fois que c'est fait, vous allez vous retrouver avec un exécutable. Vous allez pouvoir utiliser cet exécutable facilement. Il faudra simplement aller le chercher dans notre module Jasmine. À l'intérieur, vous allez avoir un dossier qui s'appelle « bin » dans lequel vous allez trouver « Jasmine.js ». « Jasmine.js », ce sera notre exécutable. C'est avec « Jasmine.js » que vous allez travailler. Il va falloir lui donner des infos, parce que « Jasmine.js » tout seul, ça ne peut pas fonctionner. Il faut lui donner un fichier test. Il va falloir donc écrire des tests. Comment ça s'écrit un test ? C'est très facile. Regardez ce que j'ai fait : j'ai sorti « pluralize » dans une fonction à part. Les tests vont tourner sous « Node ». Pour pouvoir tester une classe, il va falloir l'exporter. On ne va faire l'exportation que si on est dans un « Scope » « Node », sinon ça ne sert à rien. N'oubliez pas d'ajouter cette ligne, ce qui vous permettra d'utiliser votre fonction soit à l'intérieur de « Node » pour des tests, soit directement dans votre code de site internet, ce sera très bien. Si c'est du « Node », ça va l'exporter, et on va donc pouvoir écrire un test. J'ai fait un dossier test ici, et j'ai créé un « pluralize.js ». Qu'est-ce que ça va faire ? D'abord ça va faire un « require ». Vous allez demander d'inclure le script « pluralize ». Puis ça va être des blocs. Vous allez utiliser un bloc de description. À l'intérieur, à chaque fois que vous aurez un test, vous allez utiliser un « it ». Vous pouvez en mettre autant que vous voulez. Vous allez définir ce que ça doit faire. Ici, « must pluralize a term ». On va lui dire la « var word », c'est 4, le « numberOfCAt », c'est 10. On va utiliser le « pluralize » ici et on va lui dire qu'on espère que le résultat de ça, ça va être « cats ». On en a dix, il faut que ce soit « cats ». Si on en a qu'un seul, il faut que ce soit « cat ». On pourrait lui dire ici « must not pluralize a term », et, à ce moment-là, on n'en mettrait qu'un seul. On s'attend aussi à avoir « cat », donc on peut même s'attendre directement à avoir le « word » de base. Vous allez pouvoir écrire autant de cas de figure que vous le souhaitez. Ce sont des cas de figure qui devront être respectés. Ensuite vous allez pouvoir lancer votre test. Votre test va se trouver dans le dossier « test » et ça va être le fichier « pluralize ». Vous allez le lancer, et ici on voit que les deux tests sont passés sans problème. On voit aussi que deux « specs » ont été définis. On pourrait en implémenter autant qu'on veut. Je vous invite grandement à tester tous vos codes sources. Non seulement ça va vous aider à débugger, mais en plus de ça vous allez avoir un code source qui va être entièrement testé et qui va être propre. Ça, il faut absolument le faire. N'hésitez pas à faire crasher les tests. Ici, si je mets 10, ça va crasher, forcément. Comme ça vous verrez bien que ces tests-là vont nous permettre d'avoir de l'information sur ce qui se passe. Ça vous permet d'en apprendre plus, mais surtout de couvrir de façon unitaire, en test, votre application. Poussez un maximum sur ce framework-là, qui permet d'écrire des tests, parce qu'il est vraiment génial. Il y a une documentation qui est intéressante, avec beaucoup de choses. Vous utilisez la dernière version. Ici vous aurez plein d'exemples d'utilisation. Comment est-ce que j'écris des tests ? Qu'est-ce que je peux faire avec ? Vous voyez qu'il y a plein de « it » qui sont définis, avec des « expect » et des « toBe », « toBeNull », « toBeTruthy », on a aussi « toBeFalsy », donc il y a vraiment plein de choses qu'on peut faire. On peut travailler sur les tableaux, on peut travailler sur des variables, on peut travailler sur des chiffres : qui doit être plus grand ou plus petit ? On a vraiment toute une panoplie qui nous permet de faire des tests. N'hésitez pas, testez votre code. C'est extrêmement important.

JavaScript : Le débogage et l'analyse de code

Prenez en main les techniques et les outils pour améliorer votre code JavaScript. Découvrez Bower, js-beautify, la console de Chrome, les tests unitaires et fonctionnels, etc.

1h29 (26 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :3 mars 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 !