Para incorporar esta clase a nuestro classpath podemos hacerlo fácilmente añadiendo la dependencia maven del proyecto spring-test:
org.springframework spring-test 2.5.6 test
Para poder crear el test hacemos que nuestra clase extienda de AbstractJpaTests. Dentro de ella tenemos dos métodos importantes:
- onSetUpInTransaction: Es el método en el que vamos a realizar los inserts en nuestras tablas de la base de datos de tests para que se quede en el estado que necesitamos. Podemos estar tranquilos porque una vez terminado el test, estos cambios son desechados automáticamente.
- getConfigLocations: En este método es donde le indicamos donde se encuentra el fichero xml de spring donde se carga la configuración de la base de datos de test.
Posteriormente ya podemos implementar nuestros métodos de test (por supuesto empezando todos con "test" para que lo coja JUnit) en los que llamaremos a los daos y comprobaremos mediante asserts el correcto funcionamiento de los mismos.
public class GenericDaoTest extends AbstractJpaTests {
protected void onSetUpInTransaction() throws Exception {
jdbcTemplate.execute("insert into GenericModel (id, attr1) values (1, 'dato1')");
jdbcTemplate.execute("insert into GenericModel (id, attr1) values (2, 'dato2')");
jdbcTemplate.execute("insert into GenericModel (id, attr1) values (3, 'dato3')");
jdbcTemplate.execute("insert into GenericModel (id, attr1) values (4, 'dato4')");
}
protected String[] getConfigLocations() {
setAutowireMode(AUTOWIRE_BY_NAME);
return new String[] { "classpath:/junit-spring-services-config.xml" };
}
// METODOS DE TEST
}
A continuación se muestra un ejemplo de cómo podría ser el fichero de configuración de spring para que cargue correctamente los atributos de conexión a la base de datos:
No hay comentarios:
Publicar un comentario