![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| JPA Forum d'entraide sur l'API de persistance JPA (Java Persistence API) |
| Affichage des résultats du sondage: Comment testez-vous vos entités JPA ? | |||
| Je fais mes tests unitaires JPA moi-même |
|
19 | 51,35% |
| J'utilise un framework spécifique pour JPA |
|
2 | 5,41% |
| J'ai créé une sorte de framework maison pour JPA |
|
1 | 2,70% |
| Je ne crée pas de tests unitaires JPA |
|
15 | 40,54% |
| Votants: 37. Vous ne pouvez pas participer à ce sondage. | |||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: septembre 2003
Messages: 101
|
Bonjour à tous,
Je lance une sorte de débat sans avoir réellement de prétention. Actuellement, je travaille sur un projet longue durée où nous utilisons JPA. Le développement des entités en JPA fait partie de mon boulot quotidien et le domaine compte environ une trentaine d'entités. Comme dans toute application, il faut tester les composants qui ont été créés. Particulièrement, parce que le domaine physique est écrit par un ingénieur base de données en Oracle. Ce qui signifie que il n'y a pas de génération automatique des tables. Le but des tests unitaires est dans ce cas-ci de contrôler que les entités vont bien être persistées.
Alexis
__________________
SCJP - SCWCD - SCBCD |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: septembre 2003
Messages: 101
|
Un article sur un blog correspondant à ce sujet:
http://eskatos.wordpress.com/2007/10...mory-database/
__________________
SCJP - SCWCD - SCBCD |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: mars 2007
Messages: 3
|
Salut,
Je continue d'utiliser la méthode décrite dans le blog cité par fisico pour tester les entités en utilisant directement un EntityManager mais aussi pour tester mes DAOs sans aucun soucis. Evidemment ça ne remplace pas des tests d'intégrations menés avec le SGBD utilisé en production car les implémentations de JPA utilisent différement les SGBDs sous-jacents. Paul |
|
|
|
|
|
#4 (permalink) |
|
Membre habitué
![]() Date d'inscription: juillet 2005
Localisation: Suisse
Messages: 149
|
Pour ma part, notre équipe architecture mous a pondu quelques classes utilitaires qui permettent de changer :
- le type de transaction utilisée : soit JTA lorsque le projet est déployé sur notre serveur, soit RESOURCE_LOCAL lors des tests unitaires. Pour celà, il faut 2 fichiers persistence.xml. Le premier sera inséré dans l'EAR, et le second ne sera visible que lors des tests unitaires. - le type de base de données : HSQLDB ou ORACLE pour les tests unitaires, suivant ce que l'on veut faire. Pour éviter la multiplication les DB ORACLE (+ lourd à maintenir), on a choisi de faire tourner les tests unitaires sous hsqldb. Ainsi, les différents développeurs ne se marchent pas dessus lors des tests. On a cependant une base ORACLE pour les tests unitaires exécutés lors de l'intégratio continue. Les paramètres de connexion sont définis dans un fichier de configuration. Pour info, nos builds utilisent maven, et le build continu se fait avec CruiseControl.
__________________
Tout le monde savait que c'était impossible à faire. Puis un jour quelqu'un est arrivé qui ne le savait pas, et il le fit (Winston Churchill) |
|
|
|
|
|
#5 (permalink) |
![]() ![]() Date d'inscription: mai 2003
Messages: 3 036
|
Tu peux toujours regarder comment nous faisons nos tests : http://java.developpez.tv/suntechdays2007/#vid19
Vincent
__________________
Vincent Brabant mes tutoriels, mon blog, mon mail Certifié J2SE 5.0, Java Champion |
|
|
|
|
|
#6 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: août 2004
Localisation: France - Loiret
Messages: 59
|
Pour notre part, nous utilisons le framework TestNG pour lancer les tests unitaires et avec version embedded du noyeau JBoss avec lequel nous déployons nos EJB3, et il suffit d'un lookup sur notre facade pour tester toute la chaine métier justqu'à la couche persistance.
|
|
|
|
|
|
#8 (permalink) | |
![]() Date d'inscription: juillet 2006
Localisation: Toulouse
Âge: 33
Messages: 338
|
Citation:
Mais si on complexifie le système, à quoi bon utiliser l'orm au lieu de tout faire à la mano avec jdbc et du xml via JDOM ? C'est pas franchement plus compliqué, bien plus souple, plus évolutif, ca diminue le nombre de classes par 3 et il n'y a pas de fichiers xml de config. Je précise que c'est la question d'un noobs en ORM
__________________
Edupassion.com - Outils web pour l'éducation REST & Java Geek Mais Pas Trop, le blog |
|
|
|
|
|
|
#9 (permalink) |
![]() Date d'inscription: avril 2004
Localisation: Tours
Âge: 33
Messages: 1 646
|
On ne multiplie pas forcement les classes par trois.
Le pattern DAO avec un DAO par entity n'est pas obligatoire. L'EntityManager me sert de DAO générique, je n'ai donc pas de classes supplémentaire. Pour l'aspect CRUD je fais confiance au framework, par contre il m'arrive d'utiliser DBUnit pour tester mes requetes JPQL. Voir la vidéo donnée par vbrabant plus haut pour l'utilisation. |
|
|
|
|
|
#10 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: juin 2007
Messages: 288
|
Pour ma part j'utilise JUnit et Spring pour tester mes DAO Hibernate.
Matt Raible dans cette présentation explique plusieurs de ces techniques : https://appfuse.dev.java.net/TDDWithAppFuse.pdf |
|
|
|
|
|
#11 (permalink) |
|
Membre éclairé
![]() Date d'inscription: mai 2002
Localisation: Tours
Messages: 316
|
J'utilise DBUnit avec des tests unitaires à la main.
Hélas l'implémentation JPA que j'utilise (KODO) me pose de sérieux problème de fiabilité des tests (n'est ce pas christophe...
__________________
http://fr.thedailywtf.com <=== Curieuses perversions en informatique. |
|
|
|
![]() |
![]() |
||
Comment testez-vous vos entités en JPA ?
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|