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 2009 1 è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 méthodes: @Test indiquer une méthode de test @Before indiquer une méthode setUp @After 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