2014-10-06 16 views
6

Ho un progetto con spring, hibernate e flyway per creare lo schema del database. Così hospring-boot non utilizza application.properties nei test

spring.jpa.hibernate.ddl-auto: validate 

nel mio file application.properties. Questa configurazione funziona durante la marcia normale (dopo il confezionamento vaso-file eseguibile ed eseguirlo dal terminale):

2014-10-06 10:06:17.863 INFO 7519 --- [   main] o.h.tool.hbm2ddl.SchemaValidator   : HHH000229: Running schema validator 

ma viene ignorato durante l'esecuzione di test tramite Maven.

1804 [main] INFO o.h.tool.hbm2ddl.SchemaExport - HHH000227: Running hbm2ddl schema export 
1805 [main] DEBUG org.hibernate.SQL - drop table test_entity if exists 
1806 [main] DEBUG org.hibernate.SQL - drop sequence hibernate_sequence 
1807 [main] DEBUG org.hibernate.SQL - create table test_entity (id bigint not null, name varchar(255), primary key (id)) 
1807 [main] DEBUG org.hibernate.SQL - create sequence hibernate_sequence 
1808 [main] INFO o.h.tool.hbm2ddl.SchemaExport - HHH000230: Schema export complete 

La differenza principale con il flyway-campione ufficiale sembra in Io non uso l'esperto-genitore primavera-boot fornito.

Il progetto completo è here

risposta

14

Il test non utilizza Primavera di avvio (di cui ha bisogno per utilizzare al posto di @SpringApplicationConfiguration@ContextConfiguration, o dichiarare gli ascoltatori appropriati).

4

È necessario definire ConfigFileApplicationContextInitializer per includere il file application.properties nel test di integrazione. Basta modificare la tua annotazione in:

@ContextConfiguration(classes = FlywaySpringBootTestApplication.class, initializers = ConfigFileApplicationContextInitializer.class) 

Ti ho inviato una richiesta di pull con questa piccola modifica.

Problemi correlati