Créer un gestionnaire de collections avec Symfony3

Tester son code avec PHPUnit et CasperJS

Testez gratuitement nos 1246 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Tester son code est une question récurrente. Cependant, avoir les bons outils est indispensable. Si vous devez écrire des tests, Julien Moulin vous donne quelques clés pour écrire de bons tests.
05:24

Transcription

Les Tests. Ah, quel grand sujet les Tests. Vous entendrez souvent, les Tests ça prend du temps, ce n'est pas obligatoire. Les Tests, moi, je veux le dire, ça pérennise le projet. Si vous n'avez pas de tests dans votre projet, c'est du vécu, vraiment, si vous n'avez pas de tests dans votre projet. Il va arriver un moment où au fur et à mesure vous allez faire tout ça, toutes les classes. Vous allez vous retrouver face au mur, parce que vous allez vous dire que vous ne savez plus du tout ce qui marche ou ce qui ne marche pas dans le projet, il y aura beaucoup de [inaudible]. Et on ne peut pas tout tester à la main, c'est absolument impossible, personne ne peut le faire. Quand on a 50 classes dans le projet, comment est-ce qu'on fait pour tout tester ? On y passe une journée, ce n'est pas possible. On ne peut pas faire ça. Il faut absolument faire les tests. Alors on a deux possibilités. Et enfin, c'est deux domaines de compétences différents. Les Tests avec php unit, qui permettent de valider et bien, de valider en fait, de la logique métiers. Donc, ça, ça va s'appliquer surtout et pourquoi pas, à vos services, ça va s'appliquer à vos entités et ça va s'appliquer à vos classes, vos classes métiers que vous aurez certainement dans votre code. C'est souvent les services qui sont les classes métiers. Pour voir ce qu'on teste et ce qu'on ne teste pas, tout n'est pas utile à tester, mais il peut y avoir par exemple, dans les entités, ce genre de petit logique-là à tester. En faisant des validations particuliers, on pourrait créer des objets et puis passer des utilisateurs pour voir si ça réagit bien. Ne serait-ce que vérifie si ça remplit bien le contrat, c'est ça l'idée des tests unitaires. Vous avez une belle partie sur la documentation de symfony qui vous explique comment vous allez utiliser très facilement « php unit », et puis bien sûr, ça ne vous empêche pas d'aller regarder la vraie documentation de « php unit » qui est très, très bien faite, qui actuellement, l'enregistrement de cette vidéo étant 5,2 stable, 5,3 betta, 5,4 alpha, avec beaucoup, beaucoup d'explications, comment on va tester, comment on va implémenter certains pratiques en « php unit » notamment. Les « data provider » qui permettent de passer de l'information avec des petites fonctions et puis de tester. Vous retrouverez aussi toutes les aspersions possibles pour faire vos tests. Essayez de tester au maximum votre logique et si tester n'est pas un truc inutile, ne testez pas le « getter setter », concrètement c'est ça, l'idée. On teste la logique de nos classes, mais on ne teste pas tout ce qui est sont tout à fait classiques, on ne s'amuse pas à faire cela. Donc, « php unit », « test unitaire ». Ça c'est bien, c'est vraiment, vraiment bien. Faites attention sur la documentation de symfony, on va vous proposer les testes fonctionnels. Testes fonctionnels en symfony. [inaudible], mis les testes fonctionnels en symfony, les petits gammes, moi, je veux bien, mais si j'ai de l'Ajax ou du Java Script à tester et bien, je ne peux plus. Je ne peux plus, pourquoi ? Parce que avec Symfony, avec le[inaudible] du test fonctionnel de Symfony, on va démarrer un client avec une statique Cliente ici, On va démarrer un Croller, c'est-à-dire une émulation d'un client qui serf sur un site et on va effectuer des Requêtes. Et on va tester que ça répond bien, qu'il y a un peu de HTML de nom, etc. Mais ça s'arrêtera là. Ça ne va pas s'amuser, ici à pouvoir cliquer sur des boutons attendre que des copies s'ouvrent, attendre des comportements bien particuliers, etc. Ce ne sera pas possible, oubliez, alors, sortez-vous ça de l'esprit, ce ne sera pas possible avec le framework de test fonctionnel proposé par Symfony. Si vous avez des tests fonctionnels à faire, je vous conseille un vrai outil pour faire les testes fonctionnels, qui permettra de tester et les pages Web, et surtout, le Java Script et l'Ajax et le fonctionnement un peu particulier. CasperJS, et bien, voilà. Casper JS, ça permet de faire le job. Ça nous permet avec quelques lignes de Code, voilà, que c’est très facile à apprendre, réellement, je vous le dis, c'est très facile à prendre main, vous l'installez sur votre machine, il y les installeurs pour absolument tout Windows, OSX, tout ce qu'on veut. On peut l'installer par NPM, par GIT, on peut l'installer de pleines manières différentes. Et vous verrez qu'il y a un Quick Start qui est très simple. Et surtout il y a une petite documentation qui vous dit comment utiliser les sélecteur CSS. Comment on va tester et ce qu'on va pouvoir faire avec. C'est très simple, très facile à utiliser. Regardez, ça s'arrête quasiment qu'à ça. Évidemment vous écrirez plus de lignes que ça, ça s'arrête à ça. On fait simplement un démarrage de Casper JS. Ensuite on lui demande, à Casper de démarrer sur une page on lui donne un URL et derrière on va travailler avec un framework qui existe au travers de disque qui représentera Casper et puis, on a pleines de méthodes. On a des clic, on a des fils qui permettent de remplir les formulaires. On peut vraiment faire tout ce qu'on veut et on peut faire des attentes bien sûr. sur du Java Script, sur l'Ajax, faire ce qu'on veut. Donc, pensez à regarder ça si vous avez du teste fonctionnel à faire, c'est-à-dire d'écrire des scénarios complets sur l'utilisation du site. Voyez que c'est facile à faire et qu'il n'y a aucun problème avec ce framework, que c'est super, ça marche très bien, moi, je l'utilise pleinement, dans pleins de projets. Très franchement, ça vaut le coup, c'est facile à utiliser. N'hésiter surtout pas à aller regarder de ce côté-là. Allez, je capitule, Tests unitaires, php unit, il n'y a pas mieux, vous ne trouverez pas mieux, c'est éprouvé. Allez-y enfin. Tests fonctionnels, Casper JS, comme ça vous êtes tranquille, vous avez les deux parties, vous pouvez avec Casper décrire de grands scénarios, bien propres et bien comme il faut et avec php unit et bien garanti le fonctionnement interne de vos classes. Voilà, ça c'est important. Si vous insérez des tests fonctionnels et des tests unitaires, vous serez tranquille.

Créer un gestionnaire de collections avec Symfony3

Développez une application de gestion de ressources avec Symfony. Prenez en main le DQL (Doctrine Query Language) ainsi que les formulaires, la sécurité, les tests, etc.

2h12 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :19 avr. 2016
Durée :2h12 (25 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 !