-
Tests JUNIT et EJB
Bonjour,
Je cherche à mettre en place des tests junit pour un projet web sur lequel je veux me limiter à du JEE6 (pas de Spring). J'aimerais tester une classe service qui se base sur des DAO représentés par des EJB sessions qui sont injectés dans ma classe service via @EJB. Mes tests unitaires sont lancés par Maven. Là je me dis qui dit EJB dit nécessité d'un conteneur jee. En faisant des recherches, je suis tombé sur EJBUnit qui a l'air d'être prévu pour ça. Quel est l'outil le plus répandu/en vogue pour ça ? Y a t-il un outil vraiment spécifique dans Jee6 pour ça ?
Merci
Jacques
-
J'ai utilisé Cactus pour tester des EJB par le passé.
http://jakarta.apache.org/cactus/
-
-
Attention, c'était pour info, je ne sais pas ce qui est le mieux à l'heure actuelle... :)
-
Honnêtement moi non plus, j'ai participé à une réunion hier au JUG Montréal (avec des gens à priori très expérimentés) et
Les 3 solutions proposées étaient :
- Cactus (pas testé)
- EJB3Unit (j'ai bataillé un ou deux jours avec, je m'en suis pas sorti)
- JUnit avec serveur embarqué (fait le boulot mais lent, nécessité de lancer le serveur)
Perso, j'ai utilisé des tests JUnit classiques en instanciant les EJB sessions à la main et en surchargeant les getters des ressources injectées.
-
Je ne trouve pas que cactus aurait beaucoup d intérêt dans ton exemple.
Cactus permet surtout de faire des tests sur les couches qui sont derrière tes ejb session sans avoir a générer :
Un nouvel ejb dédie a un test
+
Le client correspondant a ce test
Corrige moi si je me trompe...
-
j'up le sujet
tout dépend si tu utilises des ejb locaux ou remote
aucun pb pour les remote car tu peux les appelés à distant, tes test junit n'étant pas sur la meme jvm que ton appli