테스트코드 실패

김선미·2022년 9월 9일
0

애플리케이션 실행시 첫번째 이미지에 뜨는 mysql 드라이버 버전 메세지는 에러메세지가 아니고, 할 수 있는 버전 설정은 다 했기 때문에 넘어가기로 했다.

문제는 no value present 였다. 원인을 파악하지 못해서 새 프로젝트를 만들고 혹시나 log4j2 설치 문제인가 싶어 그냥 mysql 연동만 하기로 했다.

그래서 기존에 쓰던 동일한 mysql 커넥트를 연동한 다음 같은 테스트 코드를 돌려보았는데, 같은 에러가 발생했다.

문제는 커넥트 된 mysql 테이블인것 같아 들어가 조회를 해보고 깜짝 놀랐다. 테스트코드의 save 메소드가 정상적으로 실행되어 20개 정도의 데이터가 쌓여 있었다.

문제는 findbyid(1) 메소드였다. 테스트코드를 전체 실행하면 id가 1번인 데이터를 삭제하는데, 삭제한 이후엔 id 1번은 다시 생성되지 않는다. 즉 id가 1번인 데이터는 아무리 findbyid를 해도 삭제되고 없으니 no value present 로 뜬 것이다. 테스트코드가 일회용이었던 것이다.

테이블 전체를 드랍한 다음 테스트 코드를 돌렸더니 정상적으로 실행되었다. 테스트코드에 익숙치 않아 생긴 문제였다. 앞으로는 테스트코드에 findbyid를 사용하지 않거나 테이블 전체를 드랍하는 코드를 추가해야겠다.

profile
백엔드 개발 공부

0개의 댓글