JavaScript : Les tests unitaires et fonctionnels

Mettre en place une attente

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Pour les requêtes AJAX, vous devez installer des attentes pour tester les données. Découvrez comment procéder avec CasperJS.
03:34

Transcription

Alors de temps en temps, il va vous arriver de devoir faire des attentes, je pense notamment à des appels que vous feriez sur des web services qui vont afficher de l'information, mais avec attente. Et en fait, l'attente, vous pouvez la gérer très facilement avec CasperJS, donc, je vais vous montrer où se trouvent les attentes, on va revenir simplement sur la doc, et vous allez chercher le mot clé wait. Alors, le wait va permettre d'attendre pour pas mal de choses, notamment, on va pouvoir là, pour le coup, attendre pour une ressource, attendre pour une URL, attendre pour l'arrivée d'un sélecteur dans l'interface, attendre, pourquoi pas, pour un texte, attendre pour quelque chose qui apparaisse et qui soit visible, attendre pour à peu près tout et n'importe quoi. C'est absolument incroyable, ce que l'on peut faire avec les attentes, et ça va nous permettre de déclencher des comportements après que l'attente ce soit passée. Alors ici, ce que nous, on va faire, on va remplacer ce qu'on a actuellement dans notre test, qui est donc simplement une assertion d'existence sur le texte, et on va ajouter une attente sur cette partie-là. Donc, on va simplement attendre qu'un texte apparaisse pour le faire passer, et pour que ce test passe réellement. Comment on va mettre en place cette partie-là ? Ça va être assez simple en réalité. On va récupérer les waitForText qui se trouvent ici, et on va simplement lui demander sur un casper.then d'attendre pour un texte avant de le tester. On va simplement déplacer cette partie ici, vous allez coder un petit casper.then ici, comme d'habitude, on va mettre une petite fonction anonyme à l'intérieur, et puis tout simplement, vous allez ici, ajouter un waitForText juste derrière. casper.then, on n'est peut être même pas obligé d'ailleurs, d'ajouter le casper.then, on va simplement lui demander le waitForText, et puis à l'intérieur, on va lui mettre la petite fonction, et on va lui faire faire le test sur le texte au moment où ce sera arrivé. C'est un petit peu inutile bien évidemment de le faire comme ça, le plus important, ce sera de le faire quand vous avez des requêtes AJAX, c'est là où vraiment, vous allez avoir quelque chose de sympa au niveau des attentes puisque vous allez pouvoir attendre que quelque chose se passe dans l'interface. Sachez que vous pouvez attendre pour des sélecteurs, ça, c'est très important aussi. On attend qu'un sélecteur apparaisse pour jouer par exemple le test d'un sélecteur. Ici, vous allez également attendre ce texte-là avant de le tester, et come ça, vous allez être tranquille, vous allez avoir une vrai attente, peu importe le temps que ça prend pour l'interface, au moins, il attendra avant de le tester. Vous voyez que ça ne change absolument rien au fonctionnement réel de notre script. Par contre, vous avez mis en place quelque chose qui permet à CasperJS plutôt que de tester tout de suite que le texte est déjà disponible, eh bien, d'attendre que ce texte soit arrivé dans l'interface avant de le tester, et ça, je peux vous assurer que c'est quelque chose de très important à mettre en place, parce que si vous avez un delta entre le moment où l'action se réalise et le moment où vous demandez de tester, et que le texte n'est pas encore à l'écran, eh bien, il ne va pas pouvoir tester que ce texte existe, vous allez avoir un test qui va échouer, alors qu'en réalité il n'échoue pas, c'est simplement qu'il ya une petite latence entre le moment où ça apparaît vraiment, et le moment où c'est disponible pour être testé, et avec cette méthode-là, eh bien, il y a un petit temps d'attente quand même avant que les choses se déroulent, ce qui vous permet, vous, d'avoir un test qui passera toujours quoi qu'il arrive même si l'interface a de la latence. Donc, on va laisser notre test comme ça, pourquoi ? Parce que c'est bien d'attendre sur des éléments qui sont différés, et qui dépendent d'une compilation particulière pour être affichés, et n'oubliez pas que si vous avez de la requête AJAX à tester, vous pourrez utiliser cette méthode-là pour attendre que quelque chose se passe dans l'interface avant même de le tester.

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
Votre/vos formateur(s) :
Date de parution :5 avr. 2017
Durée :1h54 (31 vidéos)

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 !