На моем локальном компьютере я загружаю базу данных h2 в памяти, чтобы запустить мое приложение весенней загрузки в безопасной среде, вот свойства:
spring.datasource.url: jdbc:h2:mem:DB_TEST;Mode=Oracle
spring.datasource.platform: h2
spring.jpa.hibernate.ddl-auto: none
spring.datasource.continue-on-error: false
spring.jpa.database-platform: org.hibernate.dialect.Oracle10gDialect
Затем в моем src / main / resources я имеюфайл schema-h2.sql, содержащий мои локальные инициации БД.
Это нормально, но у меня также есть несколько тестов junit, которые я хочу выполнить:
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyTest {
@Autowired
private MyController controller;
@Test
public void myTest(){
controller.doSomething();
}
Это также нормально, так каксхема-h2.sql видна.
В любом случае, по моему мнению, было бы лучше поместить схему-h2.sql в src / test / resources, так как она должна использоваться только в моей локальной среде.Это также позволяет maven исключать его из окончательной сборки, и это тоже неплохо.
В любом случае, если я его поставлю, тест продолжит работать ... но основное приложение не работает как schema-h2.sqlне найден!
Как изменить вышеуказанные свойства, чтобы указать, что shema-h2.sql должен быть найден внутри папки test / resources?
Спасибо