Comment pensez-vous de l'unité de test Java EE code?
Je veux demander pour votre moyen de moyen de test Java EE code?
Je n'ai trouvé que trois de projet, qui tentent d'aider pour le code des tests unitaires en environnement Java EE:
- http://jakarta.apache.org/cactus/ : Publié Pour La Dernière Fois: 2009-01-18
- http://www.junitee.org/ : Dernière Version: 2004-12-11
- http://ejb3unit.sourceforge.net/ : Dernière Version: 2008-05-17
Alors je me demande,
- est-il un cadre aidant à écrire (j) de l'unité de test pour Java EE code?
- utilisez-vous intégré les serveurs Java EE comme jboss ou glassfish v3?
- pensez-vous de maquettes et de les injecter par vous-même?
Merci beaucoup...
- Voir stackoverflow.com/questions/1733805/...
- Antoher de la date du projet: sourceforge.net/projects/mockejb Dernière Version: 2004-09-04
- Il y a cet article par Adam Bien sur les tests unitaires pour JavaEE à partir de 2011.
Vous devez vous connecter pour publier un commentaire.
Si par Tests Unitaires tu veux dire... de l'unité de test (le test d'une unité d'isolement), alors vous avez réellement n'avez pas besoin d'un cadre particulier depuis EJB3.0 ne sont rien de plus que annoté Pojo et peut donc être relativement facile de tester sans aucun dispositif d'éclairage spécial.
Maintenant, si vous voulez dire quelque chose d'autre, comme des Tests d'Intégration ou Tests Fonctionnels - alors, oui, outils peuvent vous aider et vous simplifier les choses (mais vous devriez vraiment commencer à utiliser la terminologie appropriée 🙂 je vais supposer que c'est ce que vous avez à l'esprit.
D'abord, JUnitEE semble morte et obsolètes et je ne suis même pas sûr qu'il a quelque chose pour EJB3.x. Deuxièmement, je ne suis pas impressionné par le Java EE 5 de Cactus et avoir à déployer des Cactus tests est douloureuse (je pense que le figuier était agréable pour J2EE 1.4, mais est un peu dépassé maintenant). Donc, ce qui nous laisse avec Ejb3Unit qui est à mon avis la meilleure option, surtout si vous souhaitez exécuter de récipient tests c'est à dire sans vraiment le déploiement de l'application (beaucoup plus rapide).
Si vous souhaitez exécuter dans un conteneur tests, alors vous pouvez en effet utiliser un conteneur embarqué et ma préférence va à GlassFish v3, même pour Java EE 5 (j'ai peut-être tort, mais je suis assez déçu par l'heure de début de la dernière JBoss communiqués de sorte qu'il n'est pas d'obtenir une grande partie de mon attention). Voir le post GlassFish Intégré Reloaded, un serveur d'applications dans votre poche pour un exemple de code (que vous pouvez utiliser à partir de votre tests) ou À l'aide de maven plugin pour v3 glassfish embarqué (si vous utilisez maven).
Une autre option serait de regrouper et de déployer votre application avec Fret et puis faire quelques tests contre le déploiement de l'application (avec le Sélénium ou un outil de BDD par exemple). Cela pourrait être utile si vous souhaitez exécuter de bout en bout des tests avec un conteneur qui n'est pas intégré l'API.
Donc, pour répondre à votre dernière question, je voudrais, en effet, utiliser les outils disponibles, peut-être une combinaison d'entre eux, pour des essais qui ne sont pas des tests unitaires et de ne pas se moquer/injecter des trucs moi-même, sauf s'ils ne sont pas couvrir certains besoins que je ne peux pas penser de la droite maintenant.
@PersistenceContext
EntityManager
?Que vous êtes intéressé par les tests unitaires, je vous recommande de JUnit. Vous pouvez unité de tester les méthodes dans les classes de base. Si vous avez de la difficulté dans l'écriture de l'unité des cas de test en utilisant JUnit, probablement à l'époque de la conception n'est pas modulaire et il est fortement couplé. D'abord se concentrer sur votre cœur de fonctionnalité et de le tester à l'aide de JUnit.
J'ai été confronté au même problème de l'exécution des tests d'intégration sur JUnit dans un conteneur Java EE 6 (Glassfish v3, pour être précis), et après beaucoup de navigation et de recherche, je ne pouvais pas trouver une solution qui vraiment me convenait besoins, j'ai donc écrit mon propre, maintenant l'objet de l' jeeunit sur Google Code.
Je n'appellerais pas ça un framework de test, il est vraiment juste une poignée de classes fournissant la colle entre JUnit et Glassfish Embarqué.
L'idée générale est similaire à Cactus, vos tests à exécuter dans le récipient et obtenir déclenchée par une servlet à partir de l'extérieur.
jeeunit prend en charge JUnit 4, Glassfish v3, CDI et génère le XML standard JUnit rapports comme Ant ou Maven Infaillible (en fait, j'ai réutilisé un certain code de Ant pour générer les rapports).
J'ai eu à l'essai d'un CDI application et a écrit une coutume JUnit coureur qui court tout, à l'extérieur du conteneur web.
http://jglue.org/cdi-unit/
Il est adapté pour Java SE et prend également en charge factice de la Demande, la Session de Conversation et étendues pour tester les applications web.
Il est petit et rapide, ce qui est idéal lorsque vous avez beaucoup de tests unitaires.