2 pièce(s) jointe(s)
spring test with jpa-mysql-hibernate.
Salut à tous et à toutes :P,
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 8O ici directement) et qui est du type
Code:
org.springframework.test.jpa.OrmXmlOverridingShadowingClassLoader
voici ma classe de test:
Code:
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);
// }
} |
ma dao que je test :
Code:
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;
}
} |
L'arborescence des fichiers est dans le hierarchie.doc.
Si quelqu'un peut m'aider à résoudre se problème.
Merci d'avance.