Ich möchte ein Repository mit Spring Boot testen und möchte mit TestEntityManager überprüfen, ob das Repository wirklich das tut, was es tun soll.Einrichten eines benutzerdefinierten Schemas mit @DataJpaTest
Das ist der JUnit-Test:
@RunWith(SpringRunner.class)
@DataJpaTest
public class MyRepositoryTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private MyRepository repository;
...
Für die anderen JUnit-Tests ich eine application-junit.properties-Datei, die ein Schema mit einigen Tabellen, Indizes, Sequenzen und Einschränkungen aufstellt:
spring.datasource.url=jdbc:h2:mem:testdb;Mode=Oracle;INIT=create schema if not exists testdb\\;SET SCHEMA testdb\\;runscript from 'classpath:create.h2.sql';
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.platform=h2
spring.jpa.hibernate.ddl-auto=none
spring.datasource.continue-on-error=true
#datasource config
spring.database.driver-class-name=org.h2.Driver
spring.database.jndi-name=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.show-sql=true
Nun, mit DataJpaTest scheint diese Konfiguration nicht verwendet zu werden. Auch wenn ich @ActiveProfiles ("junit") hinzufüge.
Wie kann ich den JUnit-Test verwenden meine create.h2.sql-Datei zum Einrichten der Tabellen verwenden?
Vielen Dank im Voraus, Nina