강의를 따라하며 테스트코드를 작성하고 실행하다 아래와 같은 에러가 발생하였다.
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) 으로 메인 클래스를 어노테이션에 명시하는 방법 등이 있다.
[QueryDSL] 카테고리별 게시글 조회 (0) | 2021.04.29 |
---|---|
[JPA] 사용자 비밀번호 확인과 정보 수정 (0) | 2021.04.29 |
[JPA] 회원가입시 아이디 중복검사 (0) | 2021.04.20 |
[JPA] 회원가입과 유효성 체크 (0) | 2021.04.20 |
[SPRING SECURITY] CSRF (0) | 2021.04.16 |
댓글 영역