Похоже, что мой тестовый файл, автоматически созданный Spring Boot Initializr, не запускается. Когда я выполняю . / Gradlew test -I , он дает мне следующий результат: введите описание изображения здесь
Мой build.gradle:
plugins {
id 'org.springframework.boot' version '2.3.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.liquibase:liquibase-core'
testImplementation 'junit:junit:4.12'
implementation 'junit:junit:4.12'
runtimeOnly 'org.postgresql:postgresql'
runtimeOnly 'com.h2database:h2'
implementation platform('org.testcontainers:testcontainers-bom:1.14.3')
testImplementation "org.testcontainers:postgresql:1.14.3"
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
Мой тестовый файл:
@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(initializers = SchemaMigrationApplicationTests.Initializer.class)
public class SchemaMigrationApplicationTests {
@ClassRule
public static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer()
.withDatabaseName("postgres")
.withPassword("postgres")
.withUsername("username");
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());
}
}
@Test
public void contextLoads() {
}
}
Я не совсем уверен, что не так - это не так похоже, что тестовый файл вообще запускается, и не похоже, что какой-либо TestContainer действительно раскручен.