2013_2014:lp:idse:gl:td:tests
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2013_2014:lp:idse:gl:td:tests [2013/08/07 21:15] – [Premier test JUnit dans eclipse] blay | 2013_2014:lp:idse:gl:td:tests [2014/10/10 05:54] (current) – [Tests unitaires avec Junit] blay | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tests unitaires avec Junit ====== | ====== Tests unitaires avec Junit ====== | ||
+ | |||
+ | Il existe énormément de tutoriaux sur l' | ||
+ | |||
+ | Nous vous proposons ici d' | ||
+ | |||
+ | |||
+ | Pour les étudiants qui pensent réaliser leur projet ou une partie de leur projet en php, | ||
+ | voici [[2014_2015: | ||
- | Exemple basé sur | ||
===== Premier test JUnit dans eclipse ===== | ===== Premier test JUnit dans eclipse ===== | ||
Line 12: | Line 19: | ||
Pour en savoir plus sur l' | Pour en savoir plus sur l' | ||
+ | ===== Compléter les tests par la gestion des exceptions ===== | ||
+ | Reprenez l' | ||
+ | - compléter la classe précédente pour lui ajouter la division (vous pouvez/ | ||
+ | - créer une autre classe de tests pour tester uniquement la division. | ||
+ | |||
+ | Voir ici : http:// | ||
===== Comprendre les annotations ===== | ===== Comprendre les annotations ===== | ||
http:// | http:// | ||
Line 26: | Line 39: | ||
* // | * // | ||
* // | * // | ||
+ | |||
+ | |||
+ | ===== Fixture : la mise en place des tests avec setUp et tearDown ===== | ||
+ | |||
+ | **D' | ||
+ | |||
+ | Une grande partie du code d'un test unitaire sert établir les conditions d' | ||
+ | |||
+ | La mise en place de ces conditions est prévue par le framework JUnit. Plutôt que chacun de vos tests appelle une méthode de mise en place, puis une méthode de nettoyage, le framework JUnit lance automatiquement avant un test la méthode setUp, et la méthode tearDown à son issue. Libre à vous d' | ||
+ | ===== Créer une suite de tests JUnit ===== | ||
+ | |||
+ | |||
+ | Vous allez à présent créer une suite de tests : | ||
+ | {{ : | ||
+ | |||
+ | Vous pouvez comparer le code généré avec le code que voici : | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | http:// | ||
+ | |||
+ | |||
+ | ===== Tests paramétrés ===== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | //Les tests paramétrés permettent d' | ||
+ | |||
+ | Voici ci-après un exemple de tests paramétrés. | ||
+ | Adaptez le à votre exemple. | ||
+ | |||
+ | <code java> | ||
+ | package math; | ||
+ | |||
+ | import static org.junit.Assert.*; | ||
+ | |||
+ | import java.util.Arrays; | ||
+ | import java.util.List; | ||
+ | |||
+ | import org.junit.After; | ||
+ | import org.junit.Before; | ||
+ | import org.junit.Test; | ||
+ | import org.junit.runner.RunWith; | ||
+ | import org.junit.runners.Parameterized; | ||
+ | import org.junit.runners.Parameterized.Parameters; | ||
+ | |||
+ | @RunWith(Parameterized.class) | ||
+ | public class ParametreTests { | ||
+ | |||
+ | Calculator op; | ||
+ | @Parameters | ||
+ | public static List< | ||
+ | return Arrays.asList(new Object[][] { | ||
+ | { 0, 0, 0 }, | ||
+ | { 1, 3, 4 }, | ||
+ | { 200, 800, 1000 } } ); | ||
+ | } | ||
+ | |||
+ | int first; | ||
+ | int second; | ||
+ | int result ; | ||
+ | | ||
+ | | ||
+ | first = premier; | ||
+ | this.second = second; | ||
+ | result = res; | ||
+ | } | ||
+ | | ||
+ | @Before | ||
+ | public void setUp() throws Exception { | ||
+ | op = new Calculator(); | ||
+ | } | ||
+ | |||
+ | @After | ||
+ | public void tearDown() throws Exception { | ||
+ | } | ||
+ | |||
+ | @Test | ||
+ | | ||
+ | System.out.println(first + "+ " + second +" | ||
+ | assertEquals(first, | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Exécuter les tests JUnit en dehors d' | ||
+ | http:// | ||
+ | |||
Line 35: | Line 140: | ||
* Continuez! | * Continuez! | ||
+ | <note warning> | ||
+ | |||
+ | ===== A la fin de cette séance ===== | ||
+ | |||
+ | <box round rgb(175, | ||
+ | * A quoi servent les tests? Quels types de tests existent-ils ? | ||
+ | * Avancé sur le développement du bus et j'ai créé les tests unitaires associés à mes codes; | ||
+ | * Utilisé le gestionnaire de version pour sauvegarder mes codes; | ||
+ | |||
+ | </ | ||
===== Références ===== | ===== Références ===== | ||
2013_2014/lp/idse/gl/td/tests.1375910126.txt.gz · Last modified: 2013/08/07 21:15 by blay