상세 컨텐츠

본문 제목

[ERROR] 스프링부트 테스트 IllegalStateException

JAVA/SPRING

by ranlan 2021. 4. 29. 01:39

본문

728x90

 

문제

강의를 따라하며 테스트코드를 작성하고 실행하다 아래와 같은 에러가 발생하였다.

 

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

 

오류의 원인으로는 찾아본 결과 몇가지가 있는데 간단히 정리해보면

- @SpringBootTest 클래스가 실행되며 필요한 스프링부트 설정 클래스를 찾지 못할 경우

- 테스트 클래스(@SpringBootTest) 패키지 경로와 메인 클래스(@SpringBootApplication) 패키지 경로가 다를 때

- @SpringBootApplication가 존재하는 패키지의 하위 패키지에 테스트가 존재해야함을 어긴 경우

 

 

해결

나는 @SpringBootApplication 어노테이션이 붙은 메인 클래스를 가장 상위로 이동시켜 테스트 패키지와 소스 패키지의 구조를 동일하게 변경하였다.

 

다른 방법들로는

@SpringBootApplication 이 붙은 클래스를 테스트 클래스와 동일한 위치의 패키지에 새로 생성하거나

@SpringBootTest(classes = TestApplication.class) 으로 메인 클래스를 어노테이션에 명시하는 방법 등이 있다.

 

 

728x90

관련글 더보기

댓글 영역