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:31] – [Méthodes] blay | 2013_2014:lp:idse:gl:td:tests [2014/10/10 05:54] (current) – [Tests unitaires avec Junit] blay | ||
---|---|---|---|
Line 5: | Line 5: | ||
Nous vous proposons ici d' | 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: | ||
+ | |||
Line 14: | 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 32: | Line 43: | ||
===== Fixture : la mise en place des tests avec setUp et tearDown ===== | ===== Fixture : la mise en place des tests avec setUp et tearDown ===== | ||
- | D' | + | **D' |
Une grande partie du code d'un test unitaire sert établir les conditions d' | Une grande partie du code d'un test unitaire sert établir les conditions d' | ||
Line 38: | Line 49: | ||
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' | 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 ===== | ===== 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:// | 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' | ===== Exécuter les tests JUnit en dehors d' | ||
http:// | http:// | ||
- | ====== Tests d' | ||
- | http:// | ||
===== A vous !! ===== | ===== A vous !! ===== | ||
Line 54: | 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.1375911089.txt.gz · Last modified: 2013/08/07 21:31 by blay