오류 메시지: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test java.lang.IllegalStateException
해결 : Spring Boot는 대부분 자동으로 설정되지만, 테스트 클래스에서 @SpringBootConfiguration 어노테이션을 찾을 수 없을 때 위와 같은 오류가 발생합니다. 이 경우, 테스트 클래스에서 @SpringBootTest 어노테이션을 사용하여 Application 클래스를 지정해주면 됩니다.
@SpringBootTest(classes = Application.class)
public class JpaTest {
// ...
}
위 코드에서 Application.class는 Spring Boot 애플리케이션의 메인 클래스를 나타냅니다. 이렇게 하면 테스트 클래스가 올바른 Spring Boot 구성을 찾을 수 있습니다.
또한, 메인 클래스가 다른 패키지에 있을 경우, 패키지 계층 구조를 따라가지 않고 @SpringBootApplication 어노테이션이 있는 패키지에서만 찾으므로 주의해야 합니다.
package com.example;
@SpringBootApplication
public class Application {
// ...
}
package com.example.test;
@SpringBootTest(classes = com.example.Application.class)
public class JpaTest {
// ...
}
위 코드에서는 Application 클래스가 com.example 패키지에 있으므로, JpaTest 클래스에서는 @SpringBootTest(classes = com.example.Application.class)와 같이 패키지 이름을 포함하여 Application 클래스를 지정해주어야 합니다.
이와 같이 @SpringBootTest 어노테이션을 사용하여 올바른 Spring Boot 구성을 지정해주면, 테스트 클래스에서 @Autowired 등의 어노테이션을 사용하여 스프링 빈을 주입할 수 있습니다.
'Spring' 카테고리의 다른 글
에러"java.lang.NullPointerException: source" Error in Gradle (0) | 2023.11.09 |
---|---|
데이터베이스 H2 콘솔 접근 에러 [Spring Boot] (0) | 2023.10.30 |
첨부파일 다운로드 시 확장자 뒤에 .html 붙는 현상 해결 [스프링] (0) | 2022.11.25 |
전자정부프레임워크 intellij에서 간단하게 열기 (0) | 2022.07.26 |