La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Annexe 1 Tests unitaires d'applications Java avec JUNIT.

Présentations similaires


Présentation au sujet: "Annexe 1 Tests unitaires d'applications Java avec JUNIT."— Transcription de la présentation:

1 Annexe 1 Tests unitaires d'applications Java avec JUNIT

2 JUNIT 2 M.Romdhani, INSAT, Janvier 2009  Présentation  Architecture  Terminolgie:  Assertions, TestCase, Fixture, TestSuite, TestRunner,Errors&Failures  Ecriture deTest  Exécution de Test:  TestCase, TestSuite, AllTests Contenu

3 JUNIT 3 M.Romdhani, INSAT, Janvier 2009 JUnit désigne un framework de rédaction et d'exécutions de tests unitaires. Imaginé et développé en Java par Kent Beck et Erich Gamma. IL représente une instance de l’architecture « xUnit » Basé sur le patron de conception [Gamma95] C’est un outil gratuit et open source De nombreux IDE intègrent Junit : Eclipse, NetBeans, Jbuilder, … Présentation de JUNIT

4 JUNIT 4 M.Romdhani, INSAT, Janvier 2009 Architecture

5 JUNIT 5 M.Romdhani, INSAT, Janvier 2009 static void assertTrue(boolean condition) static void assertFalse(boolean condition)  Vérifie si condition est vraie/fausse. static void assertEquals(expected, actual)  Vérifie que expected & actual sont égaux. static void assertSame(expected, actual) static void assertNotSame(expected, actual)  Vérifie que expected & actual référent au même objet. static void assertNull(Object objet) static void assertNotNull(Object objet)  Vérifie que objet est null/pas null. static void fail()  Provoquer l’echec du test. Terminologie : les assertions

6 JUNIT 6 M.Romdhani, INSAT, Janvier 2009 Ecrire une classe de test consiste à:  hériter de la classe TestCase  implémenter plusieurs méthodes nommées test ()  utiliser des assertions (assertXXX()): ⁻ asserTrue(1 > 0); ⁻ assertEquals(7,3+4); Terminologie : les tests cases

7 JUNIT 7 M.Romdhani, INSAT, Janvier 2009 C’est le code de mise en place du contexte de test: Des sous-classes de TestCase qui ont plusieurs méthodes testXXX() peuvent utiliser les méthodes setUp() et tearDown() pour initialiser, resp. nettoyer, le contexte commun aux tests (= fixture)  Chaque test s’exécute dans le contexte de sa propre installation, en appelant setUp() avant et tearDown() après chaque méthode de test.  Pour deux méthodes, exécution équivalente à : ⁻ setUp(); testMethod1(); tearDown(); ⁻ setUp(); testMethod2(); tearDown();  Le contexte est défini par des attributs du TestCase. Terminologie : les fixtures

8 JUNIT 8 M.Romdhani, INSAT, Janvier 2009 Une TestSuite peut être formée de TestCase ou de TestSuite. Elle appelle automatiquement toutes les méthodes testXXX() de chaque TestCase. 2 possibilités pour construire une TestSuite: explicitement: − Ajouter les méthodes à tester en faisant appel à la méthode addTest(Test test): public void addTest(Test test) utilisant l’introspection public TestSuite(java.lang.class testClass) ⁻ Adds all the methods starting with "test" as test cases to the suite. Terminologie : les tests suites

9 JUNIT 9 M.Romdhani, INSAT, Janvier 2009 Utilitaires pour lancer une suite de tests: On trouve les utilitaires JUnit  Textuel:  junit.textui.TestRunner.run(TestClass.class);  Graphique:  Awt:  junit.awtui.TestRunner.run(TestClass.class);  Swing:  junit.swingui.TestRunner.run(TestClass.class); On trouve les utilitaires liés aux plugins intégrés aux IDE : Terminologie : les tests runners

10 JUNIT 10 M.Romdhani, INSAT, Janvier 2009 JUnit distingue entre les erreurs et les échecs. « Failure » = assertion (assertXXX) qui échoue. « Error » = Exception non attendue.  Lors d’une détection d’une « Failure » ou « Error » dans une méthode de test, Junit: ⁻ Interrompt l’exécution de cette méthode. ⁻ Lance l’exécution de la méthode de test suivante. Nombre de méthodes de test exécutées Nombre d’exceptions Nombre d’échecs Terminologie : Errors et Failure

11 JUNIT 11 M.Romdhani, INSAT, Janvier 2009 Un « TestCase » avec « fixture »: Ecriture d'un test (1)

12 JUNIT 12 M.Romdhani, INSAT, Janvier 2009   Résultats:   Ecriture des méthodes de test: Ecriture d'un test (2)

13 JUNIT 13 M.Romdhani, INSAT, Janvier ère méthode (utilisant Eclipse): J U nit J U nit  Exécution de test(1):TestCase 2 ème méthode (utilisant un « TestRunner »):

14 JUNIT 14 M.Romdhani, INSAT, Janvier 2009 J U nit J U nit  Exécution de test(2):TestSuite On définit dans toutes les classes de Test la méthode public static TestSuite suite(){}

15 JUNIT 15 M.Romdhani, INSAT, Janvier 2009 J U nit J U nit  Exécution de test(3):AllTests On ajoute les« TestSuite » de tous les « TestCase » dans un nouveau « TestSuite ».

16 JUNIT 16 M.Romdhani, INSAT, Janvier 2009 J U nit J U nit  JUnit 4:nouveautés On utilise les annotations sur les méthodes à la place des conventions de noms des indiquer une méthode de indiquer une méthode indiquer une méthode tearDown Plus besoin d’hériter de TestCase. Plus besoin de créer une TestSuite. On ne distingue plus entre « Failure » et « Error ». On importe


Télécharger ppt "Annexe 1 Tests unitaires d'applications Java avec JUNIT."

Présentations similaires


Annonces Google