일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- RDBMS
- 오라클
- 기초쿼리
- Spring
- 국비지원
- SpringFramework
- 클린빌드
- ApplicationContext
- cleanbuild
- oauth
- SQL
- 불친절한SQL
- 패스트캠퍼스
- 남궁성
- 스프링
- MySQL
- Oracle
- 쿼리
- 자바기초
- 패캠
- 자바문제
- 자바의정석
- devcamp
- 인프런
- 자바연습문제
- 스프링의정석
- 자바
- 소셜로그인
- mariadb
- java
- Today
- Total
Darren's Devlog
[에러잡기 ep.3] JUnit 테스트 통과가 안됩니다ㅠㅠ ft.TDD 본문
네이버 블로그에서 티스토리로 이전하는 중입니다.
https://blog.naver.com/darren_gwon/222703634581
episode 3.
강의 똑같이 따라한거 같은데 JUnit테스트 통과가 안됩니다 ㅠㅠ
질문자분께서 JUnit을 활용한 TDD(Test Driven Development) 파트 강의를
제대로 따라한 거 같은데 테스트 통과가 안된다는 질문을 해주셨습니다.
원인파악
테스트 코드를 보아하니, 참조변수 boardDao의 null 체크를 하여
bean주입이 제대로 되었는지 안되었는지를 테스트하는 작업인 것을 확인할 수 있었습니다.
가장 먼저, @Autowired가 제대로 작동하여 bean 주입이 되는지 확인해야할 것 같아
BoardDaoImpl 클래스에 @Repository 애너테이션을 적용시켜
Component로 등록하셨는지부터 파악을 했습니다.
음... BoardDaoImpl클래스를 확인해보니 @Repository 애너테이션도 이미 제대로 추가해주셨네요.
혹시라도 테스트 환경에서 사용하는 root-context.xml에
component-scan 태그을 추가하지 않으셨나 싶어 확인해봤으나
태그도 제대로 추가하신 상태였습니다.
최후의 수단으로, 로그를 직접 확인하는 수 밖에 없겠다 싶어,
보내주셨던 첫번째 사진에 살짝 나온 로그 내용을 보았습니다.
Failed to load ApplicationContext!!
애초에 ApplicationContext에서 에러가 발생하니 bean이 주입됐을리가 없었겠네요.
이걸로 일단 원인은 파악 완료 했습니다.
Failed to load ApplicationContext 원인 찾기
ApplicationContext가 왜 load가 안됐는지 알아보기 위해 에러 로그를 전부 요청드렸습니다.
Error creating bean with name 'sqlSessionFactory'
Failed to parse mapping resource: 'file[~~/mapper/boardMapper.xml]'
Error parsing Mapper XML. The XML location is 'file[~~/mapper/boardMapper.xml]'
위 세 줄의 로그를 통해서, MyBatis 세팅 중 boardMapper.xml 에서 문제가 발생하여
sqlSessionFactory의 bean생성이 실패했다는 것을 발견하였습니다.
문제 해결
boardMapper.xml에 문제가 있는 것 같다고 설명을 드렸습니다!
boardMapper.xml를 수정하신 후에는 정상적으로 테스트 성공하셨다고 하네요 ㅎㅎㅎ
먼저 에러로그부터 파악 했으면 더 간단했을텐데, 스무고개처럼 너무 돌아갔네요.
그래도 특정 에러가 났을 때, 연관된 원인들을 하나 둘 씩 떠올릴 수 있게 됐다는 것에
큰 의미를 두며 이번 에피소드도 마무리 하겠습니다!
에러가 발생한다면 로그부터 체크 할 것!
by. Darren(?)
'Spring > 에러해결' 카테고리의 다른 글
[에러해결 ep.2] View를 변경했는데 반영이 안됩니다.(ft. Maven Clean빌드) (1) | 2022.09.08 |
---|---|
[IntelliJ] Maven 프로젝트 Clean 빌드 하는 법 (수정한 코드가 반영이 안될 때) (0) | 2022.09.07 |
[문제해결 ep.1] Junit TDD 진행 중 Failed to load ApplicationContext 에러 해결 (0) | 2022.09.07 |