Découvrir Eclipse

Mettre en pratique test first

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Grâce à un outil comme Eclipse, la pratique de test first, essentiel en méthode TDD (test driven development), est facilitée. Il faudra écrire les tests puis faire générer le code.

Transcription

Dans cette vidéo nous allons voir comment avec Éclipse nous pouvons pratiquer Test First, c'est-à-dire la réalisation du code en commençant par écrire le test. Je vais donc pour cela écrire un nouveau projet, Java Project, qui va être absolument vide et dans lequel je vais venir écrire mes différents tests. Donc, « exercice32 », et je vais écrire mes différents tests en Test First. Comme pour écrire des tests qui seraient écrits après le code réel de l'application, je vais venir sur le projet créer un Source Folder. Ce Source Folder, je vais l'appeler Test. Dans ce Source Folder, je vais venir tout de suite utiliser les tests JUnit, New, JUnit Test Case. Je vais donc écrire une classe de test qui va s'appeler « TestDe », qui, comme son nom l'indique, est censé tester le « De », mais dans le projet « exercice32 » je n'ai pas encore écrit la classe « De ». Donc, je ne peux pas, bien entendu, spécifier la classe qui va subir le test, et je fais Finish. Comme c'est la première utilisation de JUnit dans l'« exercice32 », bien entendu, il me demande de rajouter JUnit dans le « path » du projet. Vous appréciez ici JUnit qui a été raccroché effectivement dans le Classpath du projet. La classe de Test qui a été générée, elle est générée vide, la méthode qui s'appelle ici Test, ne va pas dire grand chose, et elle est surtout équipée dans Fail. Alors, la méthode Fail, c'est une méthode statique que vous trouvez dans la classe Assert. Donc, par défaut, ce test évidemment ne passe pas. Alors, pour tester la classe « De », en fait, je m'intéresse à que dois-je faire avec l'outil. D'abord, je vais tester la possibilité de déclencher le Constructeur, donc, j'ai appelée ça « testCtor », c’est une habitude. Le test du Constructeur, c'est quelque chose qui déjà doit me permettre d'écrire ce code-là : « De d = New De ». Je sauvegarde ce code et j’essaie d'exécuter le test du « De », et j’exécute le JUnit Test. Bien entendu, il me dit qu'il y a des problèmes de compilation, je lance quand même. Et ce qu'on voit, c'est que l'IHM de JUnit va quand même me faire apparaître, bien sûr, en me disant qu'il y a un problème de compilation. Il va quand même me faire apparaître l'IHM, et donc mon test échoue. Alors, ça, c'est quelque chose d'assez remarquable. Je peux donc commencer à lancer mon test, alors même que je n'ai pas créé la classe « De ». Avec Éclipse vous avez « quick fixes » qui est très très utile pour justement générer du code. Et donc je vais venir sur mon Test Setter ici créer directement la classe « De ». Il me demande de créer la classe « De » dans le Source Folder Test, bien entendu, c'est pas là que je veux le mettre, c'est dans « src », donc je n'ai que ça à corriger, et Finish. La classe « De » a été créée. Vous remarquerez que les erreurs de compilation ont disparu. Il me reste donc évidemment à écrire le code du Test que j'aurais déjà pu écrire tout à l'heure. Donc, typiquement ici, ce que je dois tester, c'est que « De » n'est pas nul, j'ai vraiment pu créer un objet « De ». Je vais donc relancer le test et le faire passer. Le test du Constructeur vient de passer. Je vais continuer, en créant de nouvelles méthodes de test qui sont toujours à noter « @Test » avec JUnit. Donc, les méthodes, par contre, ont le nom que vous voulez du moment quand sont annoter « @Test » en JUnit4. En JUnit3 toutes les méthodes de test doivent commencer par Test. Par exemple, maintenant, pour faire mon test, je vais tester le « lancer du De ». Donc, je vais créer une méthode « testLancer », et lancer le « De », c'est en fait être capable de, après avoir créé un « De », obtenir un résultat, « d.lancer », et il faut que ce résultat « assertTrue » soit supérieur à 0, et résultat inférieur à 7. Ça peut être suffisant pour que je soit content de mon test. Je vais donc relancer mon test, bien entendu, problème de compilation, puisque je n'ai pas encore la méthode Lancer. On voit ici, « testLancer» a échoué, donc, barre rouge. Je vais venir ici encore une fois sur mon Lancer. Grâce à « quick fixes », il me propose de créer la méthode Lancer dans le type « De ». Je peux tout de suite relancer mon test, pour voir si ceci suffit pour faire repasser le test. Ok, bien entendu, échec du test lancé, encore une barre rouge. Remarquez qu'en travaillant avec Test First, on peut donc progresser de façon très lente, puisqu'ici je viens d'enlever 0, j'ai mis 1. Je relance le test, et le test est passé vert, alors qu'évidemment le code que j'ai dans la classe « De » actuellement, est un code très insuffisant. Alors, travailler en Test First, c'est essentiellement, donc, donner la possibilité au codeur de n'écrire que du code nécessaire pour faire passer le test. Alors, ça, comme conséquence, évidemment que typiquement la conception est assez retardée en fait au niveau du code du « De », mais par contre, grâce à « quick fixes », une productivité de génération du code qui est quand même assez excellent. Donc, si on conjugue un outil comme Éclipse avec un peu de bon sens et [inaudible] de Refactoring, par exemple, sur le code de façon à réaménager ensuite le code du « De », bien, on est devant quelque chose de particulièrement productif et intéressant.

Découvrir Eclipse

Voyez comment réaliser vos projets de développement Java avec Eclipse. Facilitez-vous la vie avec la prise en charge des tests, les composants additionnels, etc.

2h12 (28 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Eclipse Eclipse 4.6
Spécial abonnés
Date de parution :26 juil. 2016

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 !