Контекст SpringBootTest не загружается? - PullRequest
0 голосов
/ 17 июня 2020

У меня очень базовый c SpringBootTest, который я пытаюсь запустить (contextLoads ()).

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;

@SpringBootTest
@ActiveProfiles("test")
public class ApplicationTest {


    @Test
    void contextLoads() {
    }


}

У меня есть файл конфигурации application-test.yml под src/test/resources/ с некоторыми базовыми c конфигурация, которую я хотел бы использовать для тестирования своего приложения. Однако даже с помощью простого теста выше контекст не загружается. Я использую IntelliJ для запуска своих тестов - и когда я запускаю модульный тест с Maven, тест просто находится в рабочем состоянии, но кажется, что он завис при загрузке контекста. Единственное, что я вижу, это

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.1.RELEASE)

, и он говорит: «Выполняются тесты ...», но не разрешается. Я не совсем уверен, что здесь не так. Я заметил, что когда я удаляю аннотацию @ActiveProfiles, тест не запускается и выдает исключение Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class, где похоже, что он пытается загрузить мой фактический файл конфигурации, и он не может, потому что я не установил среду переменные, которые я использую в файле конфигурации. Итак, как я могу заставить SpringBootTest выбрать application-test.yml и продолжить тест?

...