Licence 3 Informatique – Génie Logiciel
TP2 : Test Unitaires
Objectifs
ü Savoir configurer Eclipse pour mettre en œuvre des tests unitaires
ü Comprendre le Test Driven Development à travers des exemples simples
Exercice 1 : Mise en place de l’environnement de test dans Eclipse
Pour réaliser des tests unitaires dans Eclipse, le plus simple est de créer une première classe en
spécifiant uniquement les noms des méthodes sans code à l’intérieur.
Reprenons l’exemple de FizzBuzz vu en TD.
ü Créez un paquetage katas
ü Créez dans ce paquetage une classe FizzBuzz possédant une seule méthode String
getResult() qui renverra null dans un premier temps
Passons maintenant à la mise en place des tests
ü A la racine de votre projet créez un répertoire tests
Advertisement
ü Faites un click droit sur la racine du projet et sélectionnez Properties
ü Une fenêtre apparaît dans laquelle vous allez clicker sur Java Build Path puis dans
l’onglet Source
ü Vous devez normalement voir le répertoire src de listé
ü Ajoutez le répertoire de tests que vous avez créé
ü Revenez sur la classe FizzBuzz dans le Package Explorer et faite un clic droit -> New
-> JUnit Test Case
ü Sélectionnez un test JUnit4. Si cela vous est proposé, ajoutez les librairies nécessaires
à votre projet
ü Choisissez le répertoire tests comme sortie si une question vous est posée à ce sujet
ü Choisissez ensuite JUnit4 comme framework de test
ü Appuyez sur next pour visualiser les différentes méthodes que vous pouvez tester.
Sélectionnez ce qui vous paraît pertinent. Appuyez ensuite sur finish.
ü Normalement un nouveau fichier FizzBuzzTest est apparu dans le répertoire src/
Advertisement
ü Déplacez le dans le répertoire tests/
ü Allez sur votre fichier FizzBuzzTest et regardez le code généré
ü Faite un clic droit dans l’éditeur et sélectionnez Run as -> JUnit Test. Normalement
votre test doit échouer.
Génie Logiciel
Licence 3 Informatique – Génie Logiciel
Exercice 2 :
Reprenez l’exercice sur la calculatrice inversée :
Spécifications
Le principe de la notation polonaise repose sur l’idée que l’opérateur doit suivre les opérandes.
Le grand intérêt de cette notation est qu’elle rend inutile l’utilisation de parenthèses et peut
donc s’utiliser de manière interactive :
ü 3 + 4 à 3 4 +
ü (3 + 4) 5 à 3 4 + 5 ou 5 3 4 + *
Advertisement
Questions
ü Quelle est la structure de données qui vous parait la plus adaptée ? Pourquoi ?
ü Comment allez-vous différenciez les chiffres des nombres ?
ü Comment allez-vous gérer les nombres négatifs ?
ü Une fois que vous avez répondu à ces questions, écrivez le test de la calculatrice
ü Ecrivez ensuite la classe CalculatricePolonaise qui permettra d’effectuer les calculs
fournis au clavier par l’utilisateur.
Exercice 3 : Le kata Harry Potter
(source: http://codingdojo.org/kata/Potter/)
Spécifications
La saga d’Harry Potter est composée de sept romans. Avant la sortie du 6ème tome, l’éditeur a
eu l’idée de rééditer les cinq premiers tomes et d’appliquer une technique de réduction de prix
digne de Poudlard :
ü Chaque livre acheté seul coute 8€
Advertisement
ü Si vous achetez deux livres différents de la série, cela vous fait une réduction de 5%
ü Si vous achetez trois livres différents de la série, cela vous fait une réduction de 10%
ü Si vous achetez quatre livres différents de la série, cela vous fait une réduction de 20%
ü Si vous achetez cinq livres différents de la série, cela vous fait une réduction de 25%
Questions
ü Pour voir si vous avez compris, calculez le prix d’achat de 2 copies du 1er tome, 2 du
2nd tome, 2 du 3ème tome, 1 du 4ème tome et 1 du 5ème tome
ü Ecrivez les différents tests
ü Ecrivez le code au fur et à mesure pour passer les tests
Génie Logiciel