오늘은 JUnit을 사용한 DAO 테스트를 공부했습니다. 사실 클론코딩에 가까운 실습이였지만 ㅜㅜ
테스트를 진행하는데 Mapper.xml에 저장한 SQL문을 실행하는데 에러가 발생하는 경우가 많았습니다. 하지만 어디서 에러가 발생하는지 콘솔에 정확하게 나오지 않는 답답함을 느겼습니다.
그러다 찾게된 방법 지금 기록합니다!!!
테스트 코드 실행시 SQL문 로그 확인하기
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
//log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
<!-- logback.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- log4jdbc-log4j2 -->
<logger name="jdbc.sqlonly" level="INFO"/>
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="jdbc.audit" level="WARN"/>
<logger name="jdbc.resultset" level="INFO"/>
<logger name="jdbc.resultsettable" level="INFO"/>
<logger name="jdbc.connection" level="INFO"/>
</configuration>
root-context에 있는 MySQL관련 bean을 변경해줍니다.
이제 설정이 끝나고 원하는 테스트 코드를 실행 해줍니다.
실행된 테스트 코드의 SQL문과 실행 결과를 콘솔에서 확인 가능합니다.
마무리
국비교육을 수료하고 뭘 공부할까 고민을 하다가 기초가 튼튼해야 된다는 평소 가치관을 믿고 시작하고 있는 다시 듣는 자바/스프링/RDB!!! 프로젝트도 하나 끝냈지만 로그인이나 게시판을 담당하지 않아서 해당 내용을 공부하고 있는데 역시 어렵습니다. 기초공부를 선택한게 꽤 괜찮은 선택이라고 생각이 듭니다. 취업을 위해 최신기술이나 난이도 있는 기술을 공부하고 싶지만 기초가 안된다면 그냥 따라하는 정도의 별로 의미없는 공부라고 생각합니다. 기초탄탄을 위해 화이팅입니다!!!