Есть ли способ изменить определенное свойство в application.properties во время весенней загрузки во время выполнения?

#spring #spring-boot #testcontainers

#весна #весенняя загрузка #testcontainers

Вопрос:

Я использую testcontainers для тестирования моего API.

Поскольку testcontainers не позволяет указывать порт testcontainer, я должен подключиться к какому-то случайному порту после создания testcontainers.

Есть ли способ перезагрузить application.properties или изменить порты базы данных во время выполнения теста?

Я использую mongodb, spring boot, kotlin, testcontainers.

Заранее спасибо.

Комментарии:

1. Не делайте этого. Это то @TestPropertySource , для чего нужно.

Ответ №1:

Есть несколько способов подключения к контейнеру:

  • Используйте схему адресации URL
  • Testcontainers позволяет запускать container.getJdbcUrl() контейнер, однако, если вы хотите использовать автоматическую настройку Spring Boot вместо создания соединения вручную, вы можете использовать @DynamicPropertySource аннотацию, как описано здесь