¿Cómo puedo arrancar mi primavera de arranque 2 pruebas de integración de manera que a través de todos ellos puedo tener un conjunto de configuraciones que son anteriores a las semillas de la base de datos de prueba con algunos datos de prueba que se pueden utilizar en todas las pruebas de integración?
Suponiendo que está utilizando la base de datos de prueba h2.
Mi src / test / resources / application.properties archivo tiene:
spring.jpa.hibernate.ddl-auto=create-drop
Usted necesitará un archivo de configuración con la siguiente estructura. (Este es un ejemplo de configuración situada en la carpeta src / test / java ):
@Profile("test")
@Configuration
public class H2Config {
@Autowired
private DataSource datasource;
@PostConstruct
public void loadSQL() throws Exception {
ScriptUtils.executeSqlScript(datasource.getConnection(), new ClassPathResource("/sql/load_database.sql"));
}
}
El archivo 'load_database.sql': (la ruta completa es /src/test/resources/sql/load_database.sql )
CREATE OR REPLACE TABLE OPER_DISPN(
ID NUMBER NOT NULL,
DT_VCTO_OPER DATE NOT NULL
);
INSERT INTO OPER_DISPN(ID,DT_VCTO_OPER) VALUES (1,TO_DATE('2018/09/21', 'yyyy/mm/dd'));
Si está utilizando entidades asignadas (con @Entity) (con create-drop) que no se necesita la parte 'CREATE TABLE' para eso.
Y ahora, todas las pruebas de integración de haber insertado los datos de secuencia de comandos
Editar: (Mi estructura de la prueba) he creado el github mi solicitud ejemplo. Por favor, vea la estructura de la prueba y ejecute las pruebas:
TNotMappedRepository.testLoadDataFind()
PersonRepository.testLoadDataFind()