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




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
Publié par n00r - Dernière mise à jour le 30 octobre 2009 à 14:47 par marlalapocket
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.
Suggestions
  •  Framework de test StrutsTestCase (Partie 1): Présentation
  •  Framework de test StrutsTestCase (Partie 2): Ecriture des Tests » Fiches pratiques : Voir la première partie de l'astuce Framework de test StrutsTestCase (Partie 1): Présentation 1.Ecriture des tests 2.Best Practises lors de l’écriture des classes de tests cactus 3.Configuration du Cactus Ecriture des Tests utilisant le...
  •  Shell - test: fichier ou répertoire ? (Résolu) » Meilleure réponse: Tu as un autre test pour l'existence. #!/bin/bash # script plop.sh if [ ! -e "$1" ]; then echo "$1 n'existe pas" elif [ -f "$1" ]; then echo "$1 est un fichier" elif [ -d "$1" ]; then echo "$1 est un repertoire" fi Ce qui donne par e
  •  Vérifier si une chaîne en contient une autre (Résolu) » Meilleure réponse: Il y a beaucoup plus simple ! substr_count("chaine","chainerecherchee") renvoie le nombre d'occurrence de la chaine recherchée...
  •  Idées article pour blog (Résolu) » Meilleure réponse: Coucou les gens :) ! J'ai plusieurs astuces pour vous. Pour avoir des idées d'articles ; voici quelques sites sympas . Par ici : http://idee-blog.skyrock.com/ vous pouvez également faire un petit tour sur le skyblog http://juustxpuub.sk
  •  Je cherche une présentation de test director » bonjour, je cherche quelqu'un qui a le logiciel WIN RUNNER ou TEST DIRECTOR qui peut me faire une présentation ou une petite formation rapide de 2 ou 3 heures (première couche sur les fonctions basiques) je suis informaticien, je capte vite, je n'ai...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Framework de test StrutsTestCase (Partie 2): Ecriture des Tests
Axis 2 - Partie 1