Мне удалось создать MySqlDatabaseContainer, используя схему URL JDBC, как упомянуто здесь .Пожалуйста, найдите application-integration-test.properties
ниже.
spring.datasource.url=jdbc:tc:mysql:5.7.8://localhost:3306/myTable
spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver
spring.main.allow-bean-definition-overriding=true
spring.flyway.enabled=false
spring.datasource.username = root
spring.datasource.password =
Мой класс интеграционных испытаний показан ниже
@RunWith(SpringRunner.class)
@SpringBootTest(
classes = com.mycompany.myorg.myproduct.mainApp.class,
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
)
@ActiveProfiles("test")
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@TestPropertySource( locations = "classpath:application-integration-test.properties")
public class BaseFunctionalTest {
@Test
public void test {
...
}
}
С этим я могу запустить сервер MySQL в докере исвязано с этим.Однако я не могу получить экземпляр созданного таким образом MySQLContainer.Мне это нужно для выполнения запросов по мере необходимости.Если я использую MySQLContainer container = new MySQLContainer()
, он запускает еще один контейнер MySql, в дополнение к тому, что уже был создан и автоматически перенесены в него таблицы flyway.
Итак, кто-нибудь может мне помочьс получением ссылки на MySQlContainer, созданный с помощью схемы JDBC URl?Буду благодарен.