testContainers: Как запустить запуск экземпляров DatabaseContainer по схеме URL JDBC - PullRequest
0 голосов
/ 19 сентября 2019

Мне удалось создать 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?Буду благодарен.

...