Buenas Noches, estoy utilizando Junit en mi proyecto spring y me sucede algo muy raro. Si ejecuto dos test consecutivos falla el primero pero si los comento primero uno y luego otro y los ejecuto por separado funcionan correctamente.
public class JPAUserDaoTest {
private ApplicationContext context;
@Autowired
private UserDao userDao;
@Before
public void setUp() throws Exception {
context = new ClassPathXmlApplicationContext("classpath:test-context.xml");
this.userDao = (UserDao) this.context.getBean("UserDao");
}
@Test
public void testGetUsuarioList() throws Exception {
List<TblUsuario> users = this.userDao.getAllUsers();
assertEquals(users.size(), 3, 0);
}
@Test
public void testGetUsuarioById() throws Exception {
TblUsuario user = this.userDao.getUserByID(1);
assertEquals("Juan", user.getUsrNombre());
}
}
Aquí el dao que implementa las funciones:
@Repository(value="UserDao")
public class UserDaoImpl implements UserDao {
Session session = null;
public UserDaoImpl() {
this.session = HibernateUtil.getSessionFactory().getCurrentSessio n();
}
@Override
public List<TblUsuario> getAllUsers() {
List<TblUsuario> listUsuarios = null;
try {
org.hibernate.Transaction tx = this.session. beginTransaction();
Query query = this.session.createQuery("from TblUsuario");
listUsuarios = query.list();
} catch (Exception e) {
e.printStackTrace();
}
return listUsuarios;
}
...
aqui una imagen de la excepción: http://i61.tinypic.com/ivvbqv.jpg
Si necesitais cualquier cosa más me decís....no entiendo que puede estar pasando :(