Salut à tous et à toutes ,
J' essaie de mettre en œuvre du test avec jpa en utilisant .
Mais je ne sais résoudre l'erreur junit que j'ai et qui se trouve dans le fichier erreur.doc(que je n'ai pas réussi à copier ici directement) et qui est du typevoici ma classe de test:
Code : Sélectionner tout - Visualiser dans une fenêtre à part org.springframework.test.jpa.OrmXmlOverridingShadowingClassLoaderma dao que je test :
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
49
50
51
52
53
54
55 package aeligne.dao; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.test.jpa.AbstractJpaTests; public class UtilisateurDAOTests extends AbstractJpaTests { Log logger = LogFactory.getLog(UtilisateurDAOTests.class); private UtilisateurDAO userDao; public UtilisateurDAOTests(){ super(); } @Override protected String[] getConfigLocations(){ logger.info(" UtilisateurDAOTests.getConfigLocations method called"); return new String[]{ "conf/applicationContext.xml"}; } public UtilisateurDAO getUserDao(){ logger.info("UtilisateurDAOTests.getUserDao method called"); return userDao; } /* public void testFindByLogin(){ Utilisateur expected = userDao.findByLogin("kossistus"); assertNotNull(expected); assertNotNull(expected.getIdUser()); assertNotNull(expected.getLogin()); assertEquals("kossistus", expected.getLogin()); } */ public void testSave(){ logger.info("UtilisateurDAOTests.testSave method called"); assertNotNull(userDao); // Utilisateur user = new Utilisateur("kouleowoun", "kossi","kossistus"); // Role role = new Role("admin", user); // user.setRole(role); // userDao.save(user); // assertNotNull(user.getRole()); // Utilisateur expected = userDao.findByLogin("kossistus"); // assertEquals(expected, user); } // @Override // protected void onSetUpInTransaction() throws Exception{ // super.deleteFromTables(new String[] {"fichier_attaches", "articles", "rubriques","utilisateurs", "roles"}); // super.executeSqlScript("file:db/init_data.sql", true); // } }
L'arborescence des fichiers est dans le hierarchie.doc.
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 package aeligne.dao; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import aeligne.domain.utilisateurs.Utilisateur; import aeligne.exceptions.DaoException; public class UtilisateurDAOImpl implements UtilisateurDAO { /** * logger for this. */ Log logger = LogFactory.getLog(UtilisateurDAOImpl.class); /** * @see UtilisateurDAO#save(Utilisateur) * Le champ [EntityManager em] est initialisé directement par spring. * Il le sera au démarrage de l'application par Spring. * C'est l'annotation JPA @PersistenceContext qui demande à Spring d'injecter dans em, * un gestionnaire de contexte de persistance */ private EntityManager em; public void save(Utilisateur user) { em.persist(user); } public Utilisateur getUtilisateur(Long id) { logger.info("UtilisateurDAOImpl.getUtilisateur method called. "); Utilisateur user = em.find(Utilisateur.class, id); return user; } public Utilisateur findByLogin(String login) { logger.info("UtilisateurDAOImpl.findByLogin method called. "); Query query = em.createQuery("select user from Utilisateur user where user.login = :login"); query.setParameter("login", login); Utilisateur u = (Utilisateur) query.getSingleResult(); if(u == null){ throw new DaoException(String.format("Utilisateur [%s] inconnu", login), 2); } return (Utilisateur) query.getSingleResult(); } /** * @return the em */ @PersistenceContext public EntityManager getEm() { return em; } /** * @param em the em to set */ public void setEm(EntityManager em) { this.em = em; } }
Si quelqu'un peut m'aider à résoudre se problème.
Merci d'avance.
Partager