Framework de test StrutsTestCase (Partie 1): Présentation

Décembre 2016




Présentation du Framework de test StrutsTestCase


Présentation générale


Le framework de test StrutsTestCase, des applications JAVA JEE est une extention du framework de test standard Junit. L’héritage de la classe TestCase permet de fournir des facilités pour tester du code basé sur le framework Struts. StrutsTestCase est basé sur deux approches différentes pour tester le code Struts en exécutant l’ActionServlet soit dans un environnement réel avec un moteur de servlet standard soit dans un environnement de simulation. C’est deux approches sont :
  • L’approche in-container
  • L’approche Mock Object


Comme StrutsTestCase utilise le contrôleur ActionServlet pour tester le code, il est possible de tester non seulement l’implémentation des objets « Action » mais aussi le mapping, les formBeans, les déclarations de forward, les paths associés au forward et les messages d’erreur retournés par les actions. Par ailleurs, StrutsTestCase fourni déjà des méthodes de validation (assertEquals, assertNotNull,…) permettant de faire des tests unitaires plus approfondis, rapides et faciles.

StrutsTestCase est hébergé dans le site SourceForge sur le lien. La toute dernière version 2.1.4 peut être téléchargée à partir du lien download sur cette page. StrutsTestCase est compatible avec les spécifications Java Servlet 2.2, 2.3 et 2.4. Il supporte struts 1.2 et 1.3. Ainsi, il est compatible avec les framework Cactus1.7 et Junit 3.8.1.

Les différentes approches de test


Comme mentionné plus haut, les deux approches les plus répondues pour tester les classes coté serveur sont :
  • Mock objects : cette approche teste les classes par simulation du container du serveur.
  • In-container testing : cette approche teste les classes en les exécutant dans un container servlet réel.


StrutsTestCase permet de permuter d’une approche à l’autre avec un impact minimal sur les classes de test. En effet, le setup de StrutsTestCase et les méthodes de validation sont exactement les même pour les deux approches. Ainsi, modifier l’approche revient juste à modifier la classe de base à partir de laquelle hérite la classe de test.
StrutsTestCase fourni deux classes de base qui étendent, toutes les, le standard TestCase de JUnit. Ces deux classes sont :
  • MockStrutsTestCase : Elle utilise des bouchons HttpServlet pour simuler le container sans avoir besoin d’un engin servlet réel.
  • CactusStrutsTestCase : Elle utilise le framework de test cactus pour tester les classes Struts dans un container de serveur réel permettant de faire les tests dans un environnement plus proche de l’environnement réel de déploiement.

Liste des jars du framework StrutsTestCase


Le frameWork StrutsTestCase est composé par les bibliothèques suivantes :
  • cactus-1.7.2.jar
  • strutstest-2.1.3.jar
  • junit-3.8.1.jar
  • ant-junit.jar
  • aspectjrt-1.2.1.jar
  • cactus-ant-1.7.2.jar
  • httpunit-1.6.jar
  • nekohtml-0.9.1.jar
  • commons-logging-1.0.4.jar"
  • commons-httpclient-2.0.2.jar



Voir aussi: Ecriture des Tests utilisant le Framework de test StrutsTestCase et configuration

A voir également :

Ce document intitulé «  Framework de test StrutsTestCase (Partie 1): Présentation  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.