'코드로 배우는 스프링 웹 프로젝트'의 예제를 따라하던 중(xml이 아닌 자바로 설정하는 스프링프레임워크 예제) 테스트 코드를 작성한 뒤 실행하는 과정에서 아래와 같은 오류가 발생했다.
오류의 원인이 'java servlet api'가 없기 때문에 발생한 에러고 아래와 같은 의존성을 추가해주면 정상적으로 작동할 것이라고 했다.
maven
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
그랬더니 기존의 오류는 나타나지 않았고 새로운 오류가 나타났다.
위 오류는 ApplicationContext를 제대로 로드하지 못했다는 걸로 봤을때, Test 클래스 설정을 잘못한게 아닌가라는 추측을 하였고, 예상대로 클래스 위에 어노테이션 설정이 다르다는 것을 알게되었다. (책의 예제에서 자바로 설정시에 @ContextConfiguration 맵핑을 어떻게 바꿔야 하는지에 대한 설명이 없었다) (내가 성급했다 뒷부분에 설명이 있었다. loader도 필요없다고 책에는 쓰여있다)
(어떤 Config 클래스를 등록해야하는건지 몰라서 일단 두개 다 넣었었는데, RootConfig만 넣어도 된다. RootConfig는 root-context.xml을 대신하는 것이다)
Log4j 어노테이션을 활성화 해도 Log가 안찍히는 오류가 있었는데 log4j.xml을 설정해주지 않아서 그렇다고 한다. (여기까지 오류를 해결해두고 급한 과제 부터해결해놓고 다음에 이 오류를 해결해보고자 한다)
참고 : https://eternalteach.tistory.com/43
error: cannot access ServletException class file for javax.servlet.ServletException not found
java servlet api 추가하니 해결 gradle // https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1' maven..
eternalteach.tistory.com
[SPRING] 스프링 유닛 테스트 중에 ApplicationContext를로드하지 못했습니다.
스프링 유닛 테스트 중에 ApplicationContext를로드하지 못했습니다. 내 응용 프로그램 컨텍스트 스프링 자바 - 구성을 사용하여 Junit 기능 테스트를 실행하려고합니다. 나는 Spring이나 Junit에 문제가 있는지..
cnpnote.tistory.com
'각종 오류 및 해결 방법' 카테고리의 다른 글
[Github Action] failed to compute cache key: failed to calculate checksum of ref ... 에러 발생 (0) | 2023.08.13 |
---|---|
gradle 환경에서 Spring REST Docs 문서가 서버에 띄어지지 않는 경우 (0) | 2020.12.26 |
Typo in static class property declaration react/no-typos 오류 해결법 (2) | 2020.07.17 |
java.lang.Exception: No runnable method 오류 해결법 (0) | 2020.03.21 |
Tomcat서버 구동시 jsp에서 외부 css, js 파일을 인식하지 못하는 현상 (5) | 2020.02.06 |