development♥/[Java, Spring]

Failed to load ApplicationContext junit4 test

리니❤ 2022. 10. 4. 09:05
반응형

java.lang.IllegalStateException: Failed to load ApplicationContext

 

 

 

Test 실행시 junit 에러 

java.lang.IllegalStateException: Failed to load ApplicationContext

Failed to load ApplicationContext 에러가 나는데 

---> 이 오류는 WEB-INF가 classpath에 포함되어 있지않아서 나는 오류

( 어플리케이션 컨텍스트가 테스트 컨텍스트에 로드되지 않아서 테스트창에 나타남)

 

 

 

@ContextConfiguration(locations = {"classpath:WEB-INF/application-context.xml"}) 

@ContextConfiguration 이 부분이 없어서 그런거라서

 

위 문구가 작성되어있는지 확인해보고 없으면 classpath를 잡아주기 

 

 

 

 

*****혹시 위에 어노테이션이 잡혀있는데도 안될경우

pom.xml파일에가서 junit의 버전을 변경해주기 

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

나같은 경우는

 

 

 

 

1. 에러 확인 및 방법 

 

아래 콘솔창 보면 에러난 코드가 보임

java.lang.IllegalStateException: Failed to load ApplicationContext

 

 

그리고 junit 에러 창에는

 

junit4라고 적힌게 보임

 

 

 

 

2. 구글에 에러 검색 방법

 

그럼 구글에 에러 검색할때

 

Failed to load ApplicationContext 만 적어서 찾아도 되지만 안나오면

Failed to load ApplicationContext junit4 라고도 검색해서 찾아보기

 

 

 

 

3. 에러 문제 확인 및 해결 방법

 

에러를 확인해보니 @ContextConfiguration 어노테이션으로 classpath가 안잡혀서 그렇다는걸 발견함

 

그런데 나는 하단에 classpath가 잡혀있는걸 볼 수 있음

그런데도 에러가 나는 상황이면 다른부분의 문제라는걸 생각해봐야함

 

@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/*.xml"})

 

 

 

 

 

4. junit4 등 버전을 확인해보기 

 

 

지금 오류의 문제는 @ContextConfiguration 어노테이션으로 classpath가 안잡혀 있어서 그렇다는데

나는 코드가 작성되어있는데도 에러가 난다면

 

내가 사용하고있는 junit4의 버전이 저 @어노테이션을 허용하지 않는다고 생각해볼 수 있음

 

 

나같은경우는 junit   4.7 버전으로 잡혀있는데 이 버전은 오류가남

하지만                      4.13.2 버전으로 할때는 오류가 안남 

 

--> 즉 저 어노테이션이 4.7에는 없는거라서 그러는 걸 수도있다고 추측해볼 수 있음

 

그럼 junit 버전 변경해보기 4.7 --->4.13.2

 

 

 

 

5. junit4 버전을 변경해도 오류가난다면 

 

 

pom.xml파일에서 springframwork버전을 변경해보기 

 

나는 현재 스프링프레임워크 버전을 3.1.1을 사용하고있는데

                                                          4.3.14버전을 사용하면 오류가 해결 됨

springframework버전 변경하기 3.1.1 --> 4.3.14

반응형