У меня есть приложение SpringBoot, которое я пытаюсь протестировать с помощью Testcontainers . У меня есть что-то вроде:
@SpringBootTest
public class DummyIT {
@ClassRule
public static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer();
static {
postgreSQLContainer.start();
String url = postgreSQLContainer.getJdbcUrl();
}
}
К сожалению, Testcontainers используют случайные порты, и если я правильно понял, у нас не должно быть другого пути, что означает, что результат postgreSQLContainer.getJdbcUrl()
не является детерминированным c ,
Более того, мое приложение извлекает URL базы данных из его application.properties
, и я стремился заменить это значение значением, предоставленным postgreSQLContainer.getJdbcUrl()
, до того, как оно будет впервые использовано во время выполнения. Можно ли этого добиться?
Спасибо за помощь.