어느 날 마주한 에러 문구
Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
아래 그림과 같이 패키지를 여러 개 두는 경우가 있다.
어플리케이션 실행 시는 component scan 어노테이션을 이용하여 다른 패키지도 빈 생성이 가능하다.
하지만 테스트 시 OtherTest.java를 실행하게 되면 에러가 발생한다.
OtherTest.java
실행 시 에러 화면
이 문제로 많은 시간을 소비하였지만 해결 방법은 아주 간단하다.
원인은 테스트 파일이 demo 패키지 하위에 존재하지 않아서 @SpringBootApplication을 찾지 못하는 것이다.
따라서 해결방법은 해당 테스트에 이렇게 명시해주면 된다.
@SpringBootTest(classes = DemoApplication.class)
테스트 성공
해당 소스는 깃허브에서 확인 가능합니다.
github.com/ByeongUkChoi/blog-code/tree/main/other-package-test
반응형
'공부 > Spring' 카테고리의 다른 글
Spring @Order 로 Bean 순서 정의하기 (4) | 2021.02.15 |
---|---|
Spring @Profile 로 환경에 따라 다르게 설정하기 (+ @ActiveProfiles 로 테스트 하기) (0) | 2021.01.08 |
Spring Data Rest 알아보기 (0) | 2020.11.20 |
옵셔널(optional)과 람다(lambda)를 이용하여 JpaRepository에서 예외 처리하기 (0) | 2020.11.17 |
Spring boot와 MySQL을 Docker 컨테이너로 올리기 (0) | 2020.08.22 |