IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Comment testez-vous vos entités JPA ?

Votants
47. Vous ne pouvez pas participer à ce sondage.
  • Je fais mes tests unitaires JPA moi-même

    22 46,81%
  • J'utilise un framework spécifique pour JPA

    5 10,64%
  • J'ai créé une sorte de framework maison pour JPA

    1 2,13%
  • Je ne crée pas de tests unitaires JPA

    19 40,43%
JPA Java Discussion :

Comment testez-vous vos entités en JPA ?


Sujet :

JPA Java

  1. #1
    Membre confirmé Avatar de fisico
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 98
    Par défaut Comment testez-vous vos entités en JPA ?
    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.

    1. Que testez-vous ?
    2. Et comment le testez-vous ?


    Alexis

  2. #2
    Membre confirmé Avatar de fisico
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 98
    Par défaut
    Un article sur un blog correspondant à ce sujet:

    http://eskatos.wordpress.com/2007/10...mory-database/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut
    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. #4
    Membre expérimenté Avatar de xv-mnt
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 142
    Par défaut
    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.

  5. #5
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Tu peux toujours regarder comment nous faisons nos tests : http://java.developpez.tv/suntechdays2007/#vid19

    Vincent

  6. #6
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 80
    Par défaut
    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.

  7. #7
    Membre confirmé
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2007
    Messages : 118
    Par défaut
    En ce qui me concèrne, je n'ai jamais fais des tests pour la partie JPA de mes projets.

    Je n'en ai jamais eu besoins puisque Netbeans me crée automatiquement mes Entities et la gestion du CRUD et si facile avec le EntityManager.

  8. #8
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Citation Envoyé par adamo901 Voir le message
    En ce qui me concèrne, je n'ai jamais fais des tests pour la partie JPA de mes projets.

    Je n'en ai jamais eu besoins puisque Netbeans me crée automatiquement mes Entities et la gestion du CRUD et si facile avec le EntityManager.
    C'est un peu la question que je me pose : utiliser un ORM, c'est bien quand tout est géré par l'ide : ca fait gagner un temps fou.

    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

  9. #9
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    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. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Par défaut
    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. #11
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    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... ) : des méthodes échouent en tests mais fonctionnent parfaitement dans l'application, et nous avons recours à quelques bidouilles pour tester les EJB en mode local et sans conteneur (injection manuelle des datasources et entitymanagers).

  12. #12
    Futur Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 6
    Par défaut
    Citation Envoyé par slevy Voir le message
    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
    même chose pour moi.

    http://static.springsource.org/sprin...e/testing.html

  13. #13
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Bonjour,

    je voudrais faire des Tests Unitaire pour tester DAO (tout ce qui est CRUD)

    Mais sans utiliser Spring, dit mois si ces possible ? est Eventuellement comment (façon de faire) ?

    PS: j'utilise JEE6, EJB3.1, Junit4

  14. #14
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par geforce Voir le message
    Bonjour,

    je voudrais faire des Tests Unitaire pour tester DAO (tout ce qui est CRUD)

    Mais sans utiliser Spring, dit mois si ces possible ? est Eventuellement comment (façon de faire) ?

    PS: j'utilise JEE6, EJB3.1, Junit4
    Moi j'utilise Junit pout tester ,et Spring pour injecter mes EAO dans ma classe de Test.

  15. #15
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Moi j'utilise Junit pout tester ,et Spring pour injecter mes EAO dans ma classe de Test.
    tu veux dire DAO ! a la place de EAO

  16. #16
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Non je parle bien d'EAO, les DAO dans ma boite c'est pas pour attaquer les entités, mais pour faire du sql natif. C'est juste une question de définition.

  17. #17
    Membre très actif
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Billets dans le blog
    1
    Par défaut
    JUnit + DbUnit + Spring,
    correspondrait à quel proposition , 1 ou 2?

Discussions similaires

  1. Comment testez-vous vos couches d’accès aux données (DAL) ?
    Par nico-pyright(c) dans le forum Général Dotnet
    Réponses: 20
    Dernier message: 12/11/2009, 18h42
  2. Comment testez-vous vos algos de traitement d'image ?
    Par progfou dans le forum Traitement d'images
    Réponses: 8
    Dernier message: 10/09/2007, 19h12
  3. Comment creez vous vos interfaces ?
    Par Regis.C dans le forum EDI et Outils pour Java
    Réponses: 28
    Dernier message: 21/10/2005, 16h47
  4. [MySQL] Comment ecrivez-vous vos traitements batch
    Par ouioui2000 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/10/2005, 15h36
  5. [tomcat][jsp] Comment gerez vous vos connexions bdd?
    Par olive.m dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 21/06/2004, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo