JavaScript : Les tests unitaires et fonctionnels

Jouer un test avec CasperJS

Testez gratuitement nos 1270 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Lancez un test en console et collectez les résultats avec CasperJS. Le test est intuitif, mais ne confondez pas la commande de test et la commande pour scrapper.
04:46

Transcription

Maintenant que nous avons écrit notre test, il serait intéressant de le faire tourner. En fait, ça va être un peu embêtant pour nous car la commande qu'on avait utilisée tout à l'heure, la commande casper, en allant chercher le fichier, qu'on va aller chercher dans functionnal ensuite le 01 et on va le jouer. Vous n'allez pas pouvoir utiliser cette commande-là. La commande avec uniquement casper comme cela au début, permet de faire tourner un script Casper qui fait un start et un stop à la fin, un end à la fin, mais c'est quand vous faites réellement du scrapping, le start et le run de la fin, c'est le scrapping. Quand vous êtes dans ce format-là, avec des tests, une suite de tests que vous allez jouer, vous êtes obligés d'utiliser une autre commande de Casper qui va être casperjs test et, espace, le nom de votre test. Si vous n'utilisez pas cette commande-là, ça ne marchera pas. Par contre, si vous l'utilisez, on va pouvoir faire entrée et voir que la page est en train de se charger et il est en train de passer sur chaque test. Par contre, que se passe-t-il ? Ce n'est pas totalement parfait. Pourquoi ? Parce qu'en fait, il vous dit qu'il y a un fail, trois tests ont été exécutés, trois tests ont passé, on le voit bien ici, trois tests ont passé, par contre il y a un souci car on avait prévu deux tests et il y en a trois qui se sont exécutés. Qu'est-ce que ça veut dire? En réalité, c'est pour vous aider à écrire des suites de tests proprement, il y a ici un garde-fou. On doit, à cet endroit-là, mettre exactement le nombre d'assertions que l'on a écrit. Si j'ai écrit un test fonctionnel avec trois assertions à l'intérieur, je vais devoir respecter ce chiffre et je vais devoir ici lui dire que j'ai trois tests à passer. C'est la même chose, on va le voir juste après, si j'en oublie. Je vais le lancer et tout passe et ça s'est bien passé, aucun problème et regardez que mes trois tests sont passés et ont été exécutés. Imaginons que j'en mette quatre ici, il va me dire que j'en avais prévu quatre mais que j'en a écrit que trois, donc il m'en manque un. Vous aurez toujours cette information qui sera dans la page et qui vous permettra de savoir si vous avez bien respecté ce que vous vous étiez dit donc cela vous permet de mettre en place une règle en disant que pour ce test-là, on a besoin de quatre tests, on les a identifiés, alors, il faudra les écrire, directement dans un then ou bien séparés, ça marche aussi. Il n'y a aucun problème à faire un casper then, je teste celui-là, un casper then, je teste l'autre, etc... Les casper then, on le verra après permettent d'enchainer des actions. Petit détail, comment le faire crasher ? Il suffirait d'avoir autre chose, c'est-à-dire que le formulaire ici en id send pourrait s'appeler send ddd et à ce moment-là, ici, ça ne va pas fonctionner, il ne va pas passer parce que celui-ci va fail, il va nous dire qu'il y a un problème : j'ai chercher dans la page et n'ai pas trouvé ce que tu m'as demandé donc le form send que tu m'as demandé n'y est pas. Vous aurez aussi, au moment d'aller faire passer les tests, toutes les informations sur ce qui s'est passé réellement, est-ce ça a fonctionné, qu'est-ce qui n'a pas fonctionné où est-ce et quel est le test qui est passé fail. Il y a deux niveaux le pass et le fail. Le pass passe et le fail dit qu'il y a un problème, une erreur quelque part. Souvenez-vous toujours de bien remettre le chiffre, d'avoir quelque chose de propre, j'ai trois assertions, je mets trois et je fais bien attention. Ça va vous permettre de faire des corrections, quand vous étiez fixé qu'il y aurait un élément et qu'il n'est pas dans la page cela va vous permettre de venir le corriger. Une fois que tout cela est corrigé, on pensera à lancer le test, ça passe et c'est ce qu'on veut. Le but, dans les tests fonctionnels, et même dans les unitaires, c'est que tout passe au vert. Vous pouvez tout à fait réfléchir à l'avance à votre structure de page, créer les tests à l'avance pour dire que je crée les tests et vais faire en sorte que mon templace fonctionne. A ce moment-là, ça va vous permettre de guider votre développement parce que vous aurez réfléchi à l'avance à tout ce que vous devez avoir dans la page. Les tests vont vous permettre d'avancer dans votre travail parce que, si on avait développé la page à l'avance, on aurait réfléchi à un formulaire, un input pour faire un envoi, etc. on aurait pu avoir ça de base et être piloté par les tests pour pouvoir développer l'application. C'est aussi une possibilité, il est très utile d'utiliser les test pour développer. Je récapitule rapidement : pensez toujours à avoir un begin au début, à référencer le nombre d'assertions, à les exécuter à l'intérieur et à terminer avec un test.done parce qu'il faut indiquer au framework qu'on est en train de terminer, de finir.

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 !