У меня очень базовый 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
и продолжить тест?