Тестовая конфигурация SpringBoot - PullRequest
0 голосов
/ 04 ноября 2018

Я начал изучать Spring Boot в версии 2.1.0 и создал простое приложение Controller-> Service-> Repository-> Database (H2). Очень, очень простое приложение для запуска Spring Boot.

Я читал, что в этой структуре я могу добавить в src / resources файл data.sql , где я могу определить вставку / обновление и т. Д., И после запуска моего приложения это данные будут сохранены. Все работает нормально, но когда я хотел написать тест для моей службы, просто чтобы проверить, нормально ли работает мой репозиторий (я тестирую БД для целей обучения), я вижу, что, пока я запускаю свой тест в моей БД, уже есть значения из data.sql , но у меня нет data.sql в тестовой папке. Находится под угрозой.

Может кто-то знает, как настроить проект, чтобы не брать этот data.sql из src / resources? Является ли это возможным? Может быть, мне нужно добавить еще аннотации?

**** РЕДАКТИРОВАТЬ ****

Это мой репо:

1 Ответ

0 голосов
/ 04 ноября 2018

Вы можете создать тест application-test.properties в test/resources и переопределить в тесте, как это:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ExampleApplication.class)
@TestPropertySource(locations="classpath:test.properties")
public class ExampleApplicationTests {

}

Затем в вашем новом созданном application-test.properties блоке файла выполняется ваш скрипт:

spring.datasource.initialization-mode=never
...