developpement:java:junit
Table des matières
Test unitaires avec JUnit
Junit est un cadre de développement utilisé pour implémenter et exécuter les tests unitaires.
Avantages
Un test unitaire :
- facilite et canalise la réflexion.
- permet d'aboutir à une meilleure conception.
- met l'accent sur l'utilisation des classes plutôt que leur seule implémentation.
- donne un point de repère sur l'avancement du travail.
- permet de tester rapidement le code après un changement.
- joue le rôle de documentation des services d'une classe.
Limitations
Un test unitaire :
- test certains chemins d’exécution mais pas tous.
- ne permet pas de trouver toutes les erreurs.
- indique la présence d’une erreur mais pas l’absence d’erreur.
- test les fonctionnalités plutôt que les qualités du système
- nécessite du temps de développement, de la discipline, etc.
- peut être erroné.
Implémenter les tests
import junit.framework.TestCase; public class BidonTest extends TestCase { private Bidon c = new Bidon(); public void testMystere() { assertEquals(0, c.mystere()); } }
Types d'assertions :
- assertEquals
- assertFalse
- assertNotNull
- assertNotSame
- assertTrue
Exécuter les tests
import junit.framework.Test; import junit.framework.TestSuite; public class BidonTestSuite { public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(BidonTest.class); return suite; } public static void main(String[] args) { junit.textui.TestRunner.run(suite()); } }
Exemple
Classe
public class Calculatrice { private int resultat; public Calculatrice() { resultat = 0; } public int plus(int a, int b) { resultat = a + b; return resultat; } public int moins(int a, int b) { resultat = a - b; return resultat; } public int mul(int a, int b) { resultat = a * b; return resultat; } public int div(int a, int b) { if (b==0) { resultat=0; } else { resultat = a / b; } return resultat; } public int getDernierResultat() { return resultat; } }
Test unitaire
import junit.framework.TestCase; public class CalculatriceTest extends TestCase { private Calculatrice c = new Calculatrice(); public void testMoins() { assertEquals(0, c.moins(5, 5)); } public void testPlus() { assertEquals(10, c.plus(5, 5)); } public void testMul() { assertEquals(25, c.mul(5, 5)); } public void testDiv() { assertEquals(3, c.div(15, 5)); assertEquals(0, c.div(5, 0)); } public void testCreation() { Calculatrice cc = new Calculatrice(); assertEquals(0, cc.getDernierResultat()); } publicvoidtestDernierResultat() { c.plus(5,5); assertEquals(10, c.getDernierResultat()); } }
Ressources
- JUnit Quick Reference (par Delphi Consultants)
developpement/java/junit.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1