Тесты Spring Boot + Gradle не выполняются - PullRequest
1 голос
/ 03 августа 2020

Похоже, что мой тестовый файл, автоматически созданный 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 действительно раскручен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...