서비스 레이어 테스트 코드를 작성하면서 알게된 테스트 코드의 장점

Hyuk·2023년 9월 3일
0

HappyScrolls 개발기

목록 보기
9/24
post-thumbnail

테스트 코드를 작성하다가 기존 코드가 잘못되었음을 알았다.

위 코드는 게시글을 수정하는 메소드이다.

헌데 수정을 하고 ArticleDTO를 반환하는 과정에서 ArticleDTO.Response.builder()의 인자가 수정된 게시글이 아니라 기존에 수정하고 싶은 게시물을 찾아온 객체의 정보를 넣어준다는 것을 알게 되었다.

변경된 코드는 다음과 같다.

editedArticle 도 실제 db가 아닌 영속성 컨텍스트에 저장된 데이터이고 기존의 article도 .edit 메소드로 내용을 바꾸어준 상태이지만 그래도 결과값을 반환하는게 맞다고 생각했다.

로직적으로 문제가 없더라도 추후 만약 다른 사람이 이 코드를 읽고 유지보수할 일이 생긴다면 이 코드의 의미를 파악하기 힘들것이라고 생각이 되었다.

“왜 기껏 수정된걸 잘 저장해놓고 반환은 기존 객체를 반환하지?” 하는 혼란이 올수도 있겠다는 생각이 들었다.

테스트 코드를 작성하면 기존 코드의 오류를 잡기에도 용이하다는 것을 느꼈다.

++서비스레이어만 우선적으로 테스트 코드를 작성했고,커버리지가 전부는 아니지만 80%가 넘는 커버리지를 달성했다.

profile
🙂 🙃 🙂 🙃

0개의 댓글