Я использую JUnit для тестирования своего приложения, и все работает нормально, пока база данных была инициализирована до тестирования (используя gradle bootRun
для запуска в качестве веб-приложения). Однако, если база данных пуста, приложение не пытается инициализировать любые модели или объекты перед тестированием. Есть ли способ, которым я должен это делать? Я сделал предположение, что класс ApplicationRunner
будет запущен до теста и инициализирует сущности. Есть ли способ сделать это, или я использую неправильный подход?
Вот как выглядит мой файл application.properties
:
server.port=8090
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=123456
server.ssl.key-password 123456
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.hibernate.ddl-auto=create
spring.jpa.hibernate.naming-strategy:org.hibernate.cfg.ImprovedNamingStrategy
application.logger.org.springframework=INFO
Моя база данных хранится в /src/main/java/application/persistence/DbConfig.java
с помощью соединения DriverManagerDataSource
. И у меня есть установка ApplicationRunner
для запуска добавления нескольких строк в db при запуске.
изменить:
Я также должен добавить, что это аннотации, которые я использую в тестовом файле JUnit:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes={
AdeyTrackApplication.class,
SecurityConfig.class,
WebConfig.class,
AuthorizationController.class
})