Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ens:dasi2014-2015:dasi:tptestsunitaires [2015/01/13 07:30] admin Cordier Amelie () [Les tests unitaires avec JUnit] |
ens:dasi2014-2015:dasi:tptestsunitaires [2015/01/13 07:39] (Version actuelle) admin Cordier Amelie () [Partie 4 - Problème] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Les tests unitaires avec JUnit ====== | ====== Les tests unitaires avec JUnit ====== | ||
- | L' | + | L' |
- | ===== Partie 1. Autoformation ===== | ||
- | 1. Renseignez-vous sur JUnit, et rédigez une présentation de cet outil en une dizaine de lignes dans le compte-rendu. Est-ce une librairie ? Un framework ? A quoi cela sert ? Que peut-on faire avec, etc. | + | ===== Partie |
- | + | ||
- | 2. Suivez le tutoriel disponible à l' | + | |
- | https:// | + | |
- | + | ||
- | 3. Renseignez-vous sur les extensions disponibles pour JUnit et faites un petit résumé du résultat de vos recherchez dans votre compte-rendu. | + | |
- | ===== Partie | + | |
- | + | ||
- | 1. Comprendre le fonctionnement d'un test. | + | |
- | + | ||
- | Soit le code suivant : | + | |
- | + | ||
- | <code java SimpleTest.java> | + | |
- | import | + | |
- | public class SimpleTest extends TestCase { | + | |
- | public SimpleTest(String name) { | + | |
- | super (name); | + | |
- | } | + | |
- | + | ||
- | public void testSimpleTest () { | + | |
- | int answer = 2; | + | |
- | assertEquals((1+1), | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | * Créez une classe '' | + | |
- | * Adaptez cette classe pour la rendre conforme à JUnit 4. | + | |
- | * Exécutez le test. | + | |
- | * Changez la valeur de la variable '' | + | |
- | * Dans votre compte-rendu, | + | |
- | + | ||
- | 2. Regrouper les tests. | + | |
Soit le code de la classe à tester suivant : | Soit le code de la classe à tester suivant : | ||
Ligne 95: | Ligne 62: | ||
| | ||
public void testTotalConversion() { | public void testTotalConversion() { | ||
- | String expected = "10000001"; | + | String expected = "1000001"; |
assertEquals(expected, | assertEquals(expected, | ||
} | } | ||
Ligne 105: | Ligne 72: | ||
* Exécutez les tests et commentez le résultat dans votre compte-rendu. | * Exécutez les tests et commentez le résultat dans votre compte-rendu. | ||
* En vous aidant des résultats des tests, corrigez les erreurs dans la classe principale. | * En vous aidant des résultats des tests, corrigez les erreurs dans la classe principale. | ||
- | * Relancez les tests jusqu’à ce que vous arriviez à faire fonctionne | + | * Relancez les tests jusqu’à ce que vous arriviez à faire fonctionner |
* Détaillez la démarche que vous avez suivie dans votre compte-rendu. | * Détaillez la démarche que vous avez suivie dans votre compte-rendu. | ||
- | ===== Partie | + | ===== Partie |
Dans cette partie, vous devez commencer par écrire les tests, puis écrire le code qui passe les tests. Rapportez tous les éléments de votre démarche, ainsi que les résultats obtenus dans votre compte-rendu. | Dans cette partie, vous devez commencer par écrire les tests, puis écrire le code qui passe les tests. Rapportez tous les éléments de votre démarche, ainsi que les résultats obtenus dans votre compte-rendu. | ||
- | 1. Etant donné une chaîne de caractères, | + | 1. Étant |
* “AB” => “BA” | * “AB” => “BA” | ||
* “RAIN” => “RANI” | * “RAIN” => “RANI” | ||
Ligne 128: | Ligne 95: | ||
* "" | * "" | ||
- | ===== Partie | + | Question subsidiaire : pensez-vous à d' |
+ | ===== Partie | ||
+ | |||
+ | Appelez l' | ||
1. Sélection du sujet. | 1. Sélection du sujet. | ||
Ligne 134: | Ligne 104: | ||
En fonction du chiffre qui vous aura été attribué, réalisez l'un des deux sujets ci-dessous. | En fonction du chiffre qui vous aura été attribué, réalisez l'un des deux sujets ci-dessous. | ||
- | **Sujet 1.** Ecrire | + | **Sujet 1.** Écrire |
- | **Sujet 2.** Ecrire | + | **Sujet 2.** Écrire |
2. Travail à faire. | 2. Travail à faire. | ||
- | * Ecrivez | + | * Écrivez |
- | * Ecrivez | + | * Écrivez |
* des assertions, | * des assertions, | ||
* des tests vérifiant que les exceptions sont bien levées quand elles doivent l' | * des tests vérifiant que les exceptions sont bien levées quand elles doivent l' | ||
Ligne 152: | Ligne 122: | ||
4. Sur le nouveau code obtenu : | 4. Sur le nouveau code obtenu : | ||
* Implémentez la classe principale. | * Implémentez la classe principale. | ||
- | * Appliquez les tests | + | * Appliquez les tests. |
* Itérez jusqu' | * Itérez jusqu' | ||
* Décrivez votre démarche dans votre compte-rendu. | * Décrivez votre démarche dans votre compte-rendu. | ||
- | 5. Questions bonus. | ||
- | |||
- | * Pouvez-vous estimer la couverture structurelle de vos tests, pour chacun des exercices réalisés dans ce TP ? Expliquez dans votre compte-rendu. | ||
- | * Les tests unitaires font parfois appel à la notion de mutation ? Qu' | ||