Uno de configuración para un @SpringBootTest

n00b:

¿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?

Thiago Chagas:

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()

Github: https://github.com/thiagochagas/insert-data-tests

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=207471&siteId=1
Recomendado
Clasificación