• Composante

    École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications

Objectifs

Cette matière explique comment mettre en œuvre techniquement, dans le monde Java, les techniques de métaprogrammation en s'appuyant sur des patrons de conception, l'introspection et les annotations.

Lire plus

Description

Cette matière présente les patrons de conception (la construction du patron Visiteur est réalisée en Travaux Dirigés), l'introspection, les annotations utilisées à la compilation et à l'exécution et les techniques de tests.

Les Travaux Pratiques permettent en particulier de réécrire le *framework* de test unitaire JUnit en s'appuyant sur l'introspection (équivalent de JUnit3) ou les annotations (équivalent de JUnit4).  L'utilisation à la compilation est montrée en définissant une annotation *@utility* qui permet de vérifier qu'une classe est utilitaire à l'image de la classe java.lang.Math de Java.

La partie « Tests » présente les notions de tests fonctionnels et tests structurels, le graphe de contrôle, les mesures de couvertures de test. En TP, des outils de couverture de test, de définition de doublures (mocking) et d'injections d'erreur (PITest) pour évaluer les programmes de test sont utilisés.

Lire plus