본문 바로가기

개발일지(일간)

23년 02월 12일

팀 프로젝트의 리뷰 기능을 완성했다.

연관관계를 맺은 user에서 값을 탐색해와야하는데 user에 lazy를 걸어놨기때문에 N+1문제가 발생이 될걸 우려하여 일단 jpql로 쿼리를 써서 값을 가져오게 했다.

다음주에 쿼리 dsl을 전체적으로 적용해 볼 생각인데 쿼리 dsl과 쿼리팩토리를 사용해서 좀 더 가독성 좋게 코드를 쓸 생각이다.

그리고 리뷰기능의 서비스에 대한 단위 테스트를 썼다.

테스트를 쓰다가 캡슐화한 메서드에 대해 테스트를 어떻게 할까 고민했다.

일반적으로 private선언을 한 메서드는 테스트를 못하고, 테스트를 하는 방법이 있지만 private메서드를 테스트를 해야 하는 상황이면 설계가 잘못된건지 고민을 해야한다고 했었는데, 딱히 설계를 잘못한 것 같지는 않았다.

생각을 해 보았는데 캡슐화한 메서드를 테스트해야하는 이유는, 캡슐화한 메서드 안의 다른 메서드의 행위를 검증하기 위해서였다.

그래서 캡슐화한 메서드를 사용하는 테스트 코드 안에 캡슐화한 메서드 안의 메서드가 몇번 실행이 되었는지 검증을 했다.

테스트 코드를 이렇게 쓰는건지는 모르겠지만 일단 내가 의도한대로 써야한다고 알고 있어서 이렇게 썼다.

테스트 코드 공부를 따로 더 해보아야 할 것 같다.

'개발일지(일간)' 카테고리의 다른 글

23년 02월 14일  (0) 2023.02.14
23년 02월 13일  (0) 2023.02.14
23년 02월 09일  (0) 2023.02.10
23년 02월 08일  (0) 2023.02.09
23년 02월 07일  (0) 2023.02.08