This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2013_2014:lp:idse:gl:td:tests [2013/08/07 23:52] blay [Créer une suite de tests JUnit] |
2013_2014:lp:idse:gl:td:tests [2014/10/10 07:54] (current) blay [Tests unitaires avec Junit] |
||
---|---|---|---|
Line 5: | Line 5: | ||
Nous vous proposons ici d'apprendre JUnit en utilisant certaines parties de ces tutoriaux. | Nous vous proposons ici d'apprendre JUnit en utilisant certaines parties de ces tutoriaux. | ||
+ | |||
+ | |||
+ | Pour les étudiants qui pensent réaliser leur projet ou une partie de leur projet en php, | ||
+ | voici [[2014_2015:lp:idse:gl:td_phpunit|quelques tutoriaux avec PHP UNit]], mais que nous n'avons pas testé. | ||
+ | |||
Line 56: | Line 61: | ||
http://www.vogella.com/articles/JUnit/article.html#juniteclipse_testsuite | http://www.vogella.com/articles/JUnit/article.html#juniteclipse_testsuite | ||
+ | |||
+ | ===== Tests paramétrés ===== | ||
+ | |||
+ | [[http://rpouiller.developpez.com/tutoriels/java/tests-unitaires-junit4/#LVI|Basé sur cet exemple.]] | ||
+ | |||
+ | |||
+ | //Les tests paramétrés permettent d'exécuter plusieurs fois un cas de tests avec des valeurs différentes. Le cas de test doit être annoté avec @RunWith avec pour valeur Parameterized. Les paramètres sont indiqués par une méthode annotée avec @Parameters retournant une Collection. Le cas de tests paramétrés doit comporter un constructeur correspondant aux paramètres.// | ||
+ | |||
+ | 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<Object[]> getParametres() { | ||
+ | return Arrays.asList(new Object[][] { | ||
+ | { 0, 0, 0 }, | ||
+ | { 1, 3, 4 }, | ||
+ | { 200, 800, 1000 } } ); | ||
+ | } | ||
+ | |||
+ | int first; | ||
+ | int second; | ||
+ | int result ; | ||
+ | | ||
+ | public ParametreTests(int premier, int second, int res) { | ||
+ | first = premier; | ||
+ | this.second = second; | ||
+ | result = res; | ||
+ | } | ||
+ | | ||
+ | @Before | ||
+ | public void setUp() throws Exception { | ||
+ | op = new Calculator(); | ||
+ | } | ||
+ | |||
+ | @After | ||
+ | public void tearDown() throws Exception { | ||
+ | } | ||
+ | |||
+ | @Test | ||
+ | public void testCalculer() throws Exception { | ||
+ | System.out.println(first + "+ " + second +"="+ result); | ||
+ | assertEquals(first, second, result); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
===== Exécuter les tests JUnit en dehors d'Eclipse ===== | ===== Exécuter les tests JUnit en dehors d'Eclipse ===== | ||
http://www.vogella.com/articles/JUnit/article.html#juniteclipse_code | http://www.vogella.com/articles/JUnit/article.html#juniteclipse_code | ||
- | ====== Tests d'intégrations avec easyMock ====== | ||
- | http://www.vogella.com/articles/EasyMock/article.html | ||
===== A vous !! ===== | ===== A vous !! ===== | ||
Line 70: | Line 140: | ||
* Continuez! | * Continuez! | ||
+ | <note warning>N'oubliez pas de commiter vos codes et les tests !!</note> | ||
+ | |||
+ | ===== A la fin de cette séance ===== | ||
+ | |||
+ | <box round rgb(175,238,238) rgb(255,255,204) 97%|Je sais, j'ai : > | ||
+ | * 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; | ||
+ | |||
+ | </box> | ||
===== Références ===== | ===== Références ===== | ||