Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir Eclipse

Écrire les tests unitaires

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Un code doit être testé : écrivez les tests unitaires ici. Il existe de bonnes pratiques à appliquer avec Eclipse.

Transcription

Dans cette vidéo nous allons nous intéresser à la réalisation des tests écrits en Java sur vos codes. Normalement, il est de bon ton évidemment de tester son code, et normalement en Java on réalise des tests unitaires basés sur les classes. Donc, je vais venir d'abord créer un nouveau projet, donc, je vais venir créer un projet Java ici, dans les rubriques Java Projects, qui va s'appeler ici « exercice31 », à savoir que nous allons créer simplement une classe qui va être testée. Dans « src », ici, je vais venir créer une classe, New, Class, qui sera une classe « De », appelez ça comme ça. Cette classe « De », on va l'équiper de quelques informations, « int valeur », donc, pour indiquer la valeur faciale du « De », un constructeur à cette classe qui va par défaut lancer une première fois le « De » de façon à initialiser le « De », et puis une méthode Lancer qui va retourner la valeur du « De », mais auparavant avoir obtenu une valeur aléatoire, « int», donc, de « Math point random », « fois six plus un » , [(int) (Math.random()*6+1)], et enfin, donc, un Getter sur valeur « public int getValeur() » qui sera implémenté de façon tout à fait standard avec un « return valeur ». Donc, maintenant je veux tester cette classe « De ». Alors, je ne vais pas créer de classe Principale, mais je vais créer une classe de Test. Typiquement la classe de Test, le mieux, c'est de le faire quelque part dans le même Package que la classe « De ». Normalement on va faire une classe qui va s'appeler « testDe ». Donc, je vais venir ici, par exemple, créer une classe que je vais appeler « testDe » qui va contenir peut-être un Main dans lequel je vais réaliser le test du « De ». Donc, le test du « De » serait, par exemple, de faire « De d = New D », puis peut-être un affichage de la valeur initiale du « De » [en train d'écrire (''Valeur initiale du dé '')] que l'on peut très bien réaliser comme ça, « d point valeur », puisque valeur est de visibilité Finally, et ensuite, pour « i » qui varie de 0 jusqu'à 10, je vais donc lancer mon « De », obtenir un résultat du « De », puis afficher le résultat de mon test. Donc ça, c'est la première façon de faire mon test de « De ». Donc, nous verrons plus loin comment nous pouvons améliorer les choses. C'est la première façon de faire un test du « De ». Première chose, ce test de « De », je l'ai mis dans le même Package, c'est pratique, parce que je peux comme ça utiliser les attributs de visibilité Finally. Par contre, évidemment je vais me retrouver avec le source du « De » et du « testDe » dans le même répertoire physique. Comment faire pour séparer physiquement les deux classes, les deux fichiers, tout en gardant la possibilité d'utiliser les membres Friendly d'une classe par une autre. Nous allons tout simplement dans le projet venir créer un Source Folder que nous allons appeler « Test ». Dans « Test » je vais venir déplacer tout simplement la classe « TestDe». Donc, je vais créer un Package dans « Test » qui va porter exactement le même nom que le Package que j'ai dans « src ». Je prends « testDe » et je le déplace. En terme de code Java je n'ai aucune différence entre le code que j'ai dans le « TestDe » ici qui fait partie effectivement du Package « exercice31 » et le code du « TestDe » que j'avais dans le Package « exercice31 » de « src », aucune différence. Je peux donc maintenant venir exécuter « TestDe » et vérifier que tout se passe bien dans la console. Dans Éclipse de base vous avez la possibilité de créer des 4 tests que nous lancerons avec JUnit. Exemple, je vais venir dans « exercice3 » et refaire maintenant un test du « DE » mais pas avec la classe « TestDe » ; je vais venir faire un JUnit Test Case. Je clique sur JUnit Test Case, je donne un nom à mon test, donc, «TestDe », je vais mettre 2, et ici je peux aller chercher, donc, quelle est la classe que je veux tester. Donc, il s'agit de la classe « De » qui se trouve dans le Package 31. Donc, je référence ici la classe attestée en nommant la classe qui m'intéresse. Je peux naviguer, donc, sur les Packages disponibles pour aller chercher la classe attestée. Vous remarquerez les cases à cochcer qui sont juste au-dessus, qui vous permettent en fait de générer du code pour « setUp » et « tearDown », mettre en œuvre une initialisation et une désallocation des ressources à chaque test, setUpBeforeClass, tearDownBeforerClass, Initialisation de ressources ou Libération de ressources à la fin globale du test. Je fais maintenant Next, et l'outil va me proposer les différentes méthodes attestées. En fait, moi, je veux tester la classe « De » dans son constructeur, le « lancer » et le « getValeur ». Je fais Finish, ici, pour la première fois, donc, que j'utilise JUnit, il me propose de rajouter le JUnit Library to the Build Path, il va rajouter, donc, les bibliothèques JUnit au projet, comme on a déjà vu précédemment, avec la bibliothèque de HSQLdb. Je vais donc cliquer sur Ok, et je me retrouve donc avec cette classe de Test, avec, donc, bien sûr, la classe et une méthode par test à réaliser. Chaque méthode est annotée @Test. Quand je vais lancer le Test, donc, en venant sur Test2.java, Run As, il me propose un menu spécifique, JUnit Test. Je lance le JUnit Test et je vois apparaître l'IHM qui me dit que 3 tests ont échoué. Vous appréciez ici la barre rouge. Donc, maintenant je vais utiliser les possibilités de JUnit pour réaliser mes tests. Par exemple, le TestDe, je vais écrire « De d =New De ». Je teste ici le constructeur du « De ». Donc, qu'est-ce que je peux vraiment tester ? Eh bien, je peux tester que j'ai pu obtenir réellement un « De », donc, j'essaie de vérifier que « De » n'est pas nul. Je relance mes tests en venant ici, dans l'IHM JUnit et en cliquant sur Rerun Test, Sauvegarde, et je vais vérifier que TestDe est passé. Il me reste encore à corriger le test du Lancer et le test de GetValeur. Le test de GetValeur, c'est un test normalement qui va être réalisé de la façon suivante. Alors, écrire les tests, ce n'est pas quelque chose de simple, bien entendu. Donc, « assertTrue », je vais vérifier ce qui est vrai, c'est que « d point GetValeur » est supérieur à 0 [d.GetValeur()0] et « d point GetValeur » est inférieur à 7 [&& d.GetValeur()<7] Donc, je veux vérifier ces deux assertions. Je vais exécuter mon test et sauvegarder, et GetValeur est passé, le test est presque bon. Il me reste encore maintenant à faire le test pour le Lancer. Alors, le test pour le Lancer évidemment devrait être plus compliqué que ce que je vais faire, mais on peut considérer que le résultat du Lancer, c'est « d.lancer », l'appel de « d.lancer» , et je vais donc utiliser « assertTrue » pour vérifier que résultat est supérieur strictement à 0 [(resultat0)] et résultat est inférieur strictement à 7 [&& (resultat<7)]. Je relance maintenant mes tests, Sauvegarde, bien entendu, et la barre verte apparaît. Alors, la différence entre les tests que j'ai réalisés précédemment dans « TestDe », et les tests réalisés par JUnit qui est, je le rappelle, intégré à Eclipse, c'est que les tests JUnit sont beaucoup plus simples à écrire, à maîtriser, et l'évaluation, finalement, du test est beaucoup plus simple à comprendre. La barre verte signifie que tout va bien. Dès que la barre devient rouge, on m'indique à quel niveau de test il y a eu un problème. Éventuellement, je peux faire des regroupements de tests. Donc, ici ces « TestDe2 » avec ces 3 méthodes de tests, je peux faire des regroupements de tests de façon à avoir des ensembles cohérents de tests.

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 !