vers l'accueil formulaire de contact

Tutoriel struts N° 11 : test application struts avec strutsTestCase

Maîtrisez le test d’applications Struts. Mettez en œuvre le framework de test StrutsTestCase, dérivé du framework de test unitaire JUnit. identifiez les 2 approches : ’mock test ’ (test factice) ne nécessitant pas de serveur d’applications et test ’in container’ , nécessitant un serveur d’applications. Mettez en oeuvre un test Mock en créant une classe classe de test héritant de MockStrutsTestCase.

Ce tutoriel vous est offert par Objis, le spécialiste de la formation Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils

Liens utiles

- + de 100 tutoriaux java/jee Objis
- 10 tutoriaux Struts 1 Objis
- Objis, spécialiste formation java depuis 2005
- Site du framework StrutsTestCase
- Téléchargement StrutsTestCase
- Framework de test ’in container’ Cactus
- Intégration StrutsTestCase, EasyMock et AspectJ
- Tester unitairement votre application Strut

Prérequis

- Installation Tomcat 6
- Téléchargement Eclipse Entreprise
- Intégration de tomcat dans eclipse
- Déploiement struts-blank dans eclipse

Objectifs

- Comprendre les approches du test avec Struts : Mock test et in-container test
- Comprendre les classe MockStrutsTestCase et CactusStrutsTestCase

Programme

- Contexte : tester votre ’première application struts’
- Partie 1 : téléchargement StrutsTestCase
- Partie 2 : ajout librairies StrutsTestCase au projet
- Partie 3 : création classe de test : TestHelloAction
- Partie 4 : lancement du test

Durée

- 30min

Contexte

Comme point de départ, considérons l’application Struts développée dans notre tutoriel Struts N°3 : votre première application Struts. et dont l’arborescence projet est la suivante :

TELECHARGEZ LE PROJET ECLIPSE

Le scénario est simple. Le déploiement de l’application donne ceci :

L’utilisateur entre un nom et valide. L’écran suivant ressemble à celui-ci...

... Sauf si l’utilisateur entre "Atilla", auquel cas l’écran suivant est celui-ci :

Tests à effectuer

1) En cas de soumission d’un Nom, la redirection vers la page suivante sera t’elle bien réalisée (forward vers "SayHello") ?

2) Le chargement du Bean Formulaire a t’il bien fonctionné ? En métant les bons paramètres en requête, le bean sera t’il instancié correctement ?

3) Si le nom donné est le nom ’Atilla’, l’erreur sera t’elle bien lancée ? reviendra t’on à la page d’accueil .

4) Si le nom donné n’est pas Atilla , la bonne page sera t’elle bien renvoyée avec le message adéquat ?

Valeur ajoutée de StrutsTestCase

StrutsTestCase va nous permettre de faire ces tests.

StrutsTestCase est une extension JUnit qui utilise le controlleur ActionServlet pour tester votre code, vous permettant ainsi de tester non seulement vos actions Struts , mais aussi vos mappings, form bean et forwards.

StrutsTestCase met à votre disposition en particuliers 2 classes pour mettre en place soit une stratégie de test factice (MockStrutsTestCase), ou de test dit ’in-container’ (CactusStrutsTestCase), comme avec le framework Cactus.

A travers le test factice, vous simulez que vous avez déployé votre application dans un serveur j2ee alors que ce n’est pas le cas.

A travers un test in-container, vous déployez réellement votre application dans un serveur j2ee avant de la tester.

Partie 1 : téléchargement StrutsTestCase

- Allez sur la page de téléchargement de StrutsTestCase

PNG - 16.8 ko
tutoriel-struts-objis-test-application-struts-strutstescase-0

- Téléchargez la version 2.2.4 (liée aux specs web.xml 2.2.4) et Dézippez le fichier strutstest214-1.2_2.4.zip obtenu. Son contenu est le suivant.

PNG - 10.1 ko
tutoriel-struts-objis-test-application-struts-strutstescase-1

- C’est le jar strutstest-2.1.4.jar qui nous intéresse et qu’il faudra inclure dans notre projet de test.

Partie 2 : ajout librairies StrutsTestCase
PNG - 11.8 ko
tutoriel-struts-objis-test-application-struts-strutstescase-2

- 

Partie 3 : création classe de test : TestHelloAction

- ajoutez un répertoire ’test’ qui contiendra les sources de notre classe de test

PNG - 20.4 ko
tutoriel-struts-objis-test-application-struts-strutstescase-creation-sources-test-1
PNG - 18.9 ko
tutoriel-struts-objis-test-application-struts-strutstescase-creation-sources-test-2

- 

PNG - 19.5 ko
tutoriel-struts-objis-test-application-struts-strutstescase-3

- 

PNG - 30.9 ko
tutoriel-struts-objis-test-application-struts-strutstescase-4

- 

PNG - 3.6 ko
tutoriel-struts-objis-test-application-struts-strutstescase-4-bis

Codage de la classe de test

PNG - 24.2 ko
tutoriel-struts-objis-test-application-struts-strutstescase-5

Partie 4 : lancement du test

- Cliquez droit sur la classe de test / Run as / JUnit test

PNG - 8.1 ko
tutoriel-struts-objis-test-application-struts-strutstescase-6

Le test a réussi : la page de retour est la bonne et il n’y a pas eu d’erreur.

TELECHARGEZ le projet à cette étape

A VOUS DE JOUER : en utilisant la documentation StrutsTestCase, compléter le test unitaire ci-dessus.

Conclusion

Dans ce tutoriel, vous avez développé des compétences liées au test d’application Struts. Vous avez compris les 2 approches de test : test factices (Mock test) et test dans un conteneur (in-container).

Vous avez utilisé le framework StrutsTestCase , qui propose les classe MockStrutsTestCes et CactusStrutsTestCase pour vous tests Struts.

Prochaine formation STRUTS1

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Struts 1 :

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com