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

JPA Java Discussion :

Problème OpenJPA et test unitaires.


Sujet :

JPA Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Problème OpenJPA et test unitaires.
    Bonsoir,

    J'ai un petit souci pour la compréhension de ce sujet car je suis débutante dans les tests et OpenJPA :

    Voici le sujet :
    Expérimenter les méthodes de gestion d'une entité fournies par l'EntityManager : find, persist, merge, detach, refresh, remove.
    Vous devez créer et déclarer dans le fichier persistence.xml votre propre entité JPA. Le template de projet fournit un environnement de test JPA basé sur OpenJPA et JUnit. Créez une classe de tests unitaires en héritant de la classe fr.epsi.JpaTestCase. Le fichier persistence.xml déclare une connexion vers une base de données mémoire HSQLDB. Ainsi pour chaque classe de test, une base de données sera instanciée en mémoire et OpenJPA créera automatiquement les tables, conformément aux annotations de votre entité.

    Voici la classe JpaTestCase :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    package fr.epsi;
     
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.persistence.PersistenceContext;
    import javax.persistence.PersistenceContextType;
     
    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
     
    public abstract class JpaTestCase {
     
    	private static EntityManagerFactory entityManagerFactory;
     
    	protected EntityManager entityManager;
     
    	@BeforeClass
    	public static void createEntityManagerFactory() {
    		entityManagerFactory = Persistence.createEntityManagerFactory("myPersistenceUnit");
    	}
     
    	@AfterClass
    	public static void closeEntityManagerFactory() {
    		entityManagerFactory.close();
    	}
     
    	@Before
    	public void createEntityManager() {
    		entityManager = entityManagerFactory.createEntityManager();
    	}
     
    	@After
    	public void closeEntityManager() {
    		entityManager.close();
    	}
     
    }
    je viens de créer la classe UserTest qui hérite de JpaTestCase :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    public class UserTest extends JpaTestCase {
     
    	private final static User user = new User();
    	private final static String NOM_USER = "avatar";
    	private final static String PRENOM_USER = "avatar";
    	private final static String EMAIL_USER = "avatar@gmail.com";
     
    	@Before
    	public void createEntityManager(){
    		super.closeEntityManager();
    		System.out.println("@Before : createEntityManager()");
    	}
     
    	@After
    	public void closeEntityManager() {
    		super.closeEntityManager();
    		System.out.println("@After : closeEntityManager()");
    	}
    	@Before
    	public void setUpTest() {
     
    		user.setNom(NOM_USER);
    		user.setPrenom(PRENOM_USER);
    		user.setEmail(EMAIL_USER);
    		user.setAge(22);
    		user.setId(1L);
    	}
    	@Test
    	public void persistEntity() {
     
    		UserTest user_test = new UserTest();
    		user_test.setUpTest();
     
    		entityManager.getTransaction().begin();
    		boolean transactionOk = false;
    		try {
    			entityManager.persist(user);
    		} finally {
    			if (transactionOk) {
    				entityManager.getTransaction().commit();
    			} else {
    				entityManager.getTransaction().rollback();
    			}
     
    		}
    	}	 
    }
    mais le test ne fonctionne pas.
    Pourriez-vous SVP m'indiquer où se trouve l'erreur car là je bloque.

    merci d'avance pour toute aide ou suggestion.

    AVATAR7575

  2. #2
    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
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    Et l'erreur c'est quoi ?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

Discussions similaires

  1. Problème : Test Unitaire CollectionView MVVM
    Par alves.seb dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/12/2012, 15h52
  2. Problèmes avec netbeans test unitaire
    Par dark0502 dans le forum NetBeans
    Réponses: 1
    Dernier message: 17/08/2011, 00h06
  3. [2.x] Passage à la PR12 : problème de test unitaire
    Par davidbouv dans le forum Symfony
    Réponses: 0
    Dernier message: 22/04/2011, 11h59
  4. [1.x] Problème tests unitaire Doctrine
    Par julienlacorne dans le forum Débuter
    Réponses: 3
    Dernier message: 29/01/2011, 13h01
  5. [WD14] Tests unitaires: problème d'affichage
    Par Poupinelelapin dans le forum WinDev
    Réponses: 0
    Dernier message: 11/05/2010, 12h19

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