🧠 이번 주에 새로 배운 것
- 테스트 코드 작성시 내가 테스트하려는게 무엇이고, 내가 검증하려는것이 '진짜' 검증이 되는가 생각하는 습관을 가지게 되었어요.
- 테스트 코드 검증시 꼭 필요한 검증만 해야한다는 것을 배웠어요. 불필요한 것들까지 검증하면 테스트 코드 리팩터링 내성이 없다는 것을 배웠습니다.
- 입력값 검증과 데이터 검증은 다르게 가야 한다는 것을 배웠어요. 포인트 충전시 엣지 케이스로 음수 충전을 놓쳤습니다.
- 여러 클래스가 있을때 TDD를 작성하는 과정을 알게되었어요. 클래스 한개씩 완성하고 연관 클래스들은 인터페이스만 설계 하던가 인터페이스 + 구현체로 바로 갈지를 상황에 맞게 고민 후 선택합니다.
- XxxRepository의 인터페이스 선언을 최소화해야 한다는 것을 배웠어요. 예를 들어, findBy 하나만 있어도 충분하고 getBy, exist는 불필요 합니다.
💭 이런 고민이 있었어요
- PR 리뷰어의 가독성을 위한 적절한 commit 단위를 고민했어요.
- Service의 if-else문 리팩터링을 어떻게 할지 고민했어요. early-return 방식을 멘토님께 리뷰 받았습니다.
- spy 검증이 어떤 경우에 필요한지, 어떻게 구현하지 고민했어요. @MockitoSpyBean을 사용해 구현하였습니다.
💡 앞으로 실무에 써먹을 수 있을 것 같은 포인트
- XxxRepository 인터페이스 선언을 최소화 하기
- 테스트 코드 작성시 엣지 케이스를 넓게 생각하기
🤔 아쉬웠던 점 & 다음 주에 해보고 싶은 것
- commit 메시지 body 부분을 채우지 못해 아쉬웠어요. 2주차 과제부터 채워야 겠어요.
'외부활동 > 루퍼스 2기' 카테고리의 다른 글
| [Loop:PAK] 3주차 WIL (0) | 2025.11.14 |
|---|---|
| [루퍼스/루프백 2기] 도메인을 보호하고 객체간 협력을 지키는 구현 방법 (0) | 2025.11.12 |
| [Loop:PAK] 2주차 WIL (0) | 2025.11.06 |
| [루퍼스/루프백 2기] 문서를 만들고 개발을 진행하시나요? (2) | 2025.11.01 |
| [루퍼스/루프백 2기] 테스트 코드와 TDD에 대한 나의 생각 (0) | 2025.10.28 |
