如何解决TestContainers共享数据库
我正在尝试在JUnit 5中使用一个PostgreSQL TestContainer,以扩展我所有的测试类。目前,只有一个测试类通过此TestContainer通过/测试,其余的给我一个“无法获取JDBC连接”错误。
这是我的父类的样子:
@Testcontainers
@ContextConfiguration(initializers = SchemaMigrationApplicationTests.Initializer.class)
public class SchemaMigrationApplicationTests {
public static final String BC_BASE_DOMAIN = "proxy-si.broadcloudpbx.net";
public static final String EDOS_PROFILE = "asdf1234";
public static final Region COUNTRY_REGION = Region.INT;
private static final String DATABASE_NAME = "postgres";
private static final String DATABASE_PASSWORD = "postgres";
private static final String DATABASE_USERNAME = "username";
@Container
public static PostgreSQLContainer postgreSQLContainer = (PostgreSQLContainer) new PostgreSQLContainer()
.withDatabaseName(DATABASE_NAME)
.withPassword(DATABASE_PASSWORD)
.withUsername(DATABASE_USERNAME)
.withReuse(true);
static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
TestPropertyValues.of(
"spring.datasource.url=" + postgreSQLContainer.getJdbcUrl(),"spring.datasource.username=" + postgreSQLContainer.getUsername(),"spring.datasource.password=" + postgreSQLContainer.getPassword()).applyTo(configurableApplicationContext.getEnvironment());
}
}
}
我只是让我的测试类扩展了SchemaMigrationApplicationTests。我还尝试过使用静态方法,并在此父类的容器上调用.start(),但这没有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。