테스트3 [@DataJpaTest] h2 인메모리 db를 이용한 테스트 설정 방법 서론 테스트 코드를 작성하는 것은 매우 중요하다고 익히 들었고, 필수적인 영역이기 때문에 이에 항상 만전을 기하고 있다. 모든 케이스를 테스트할 이유는 없기 때문에, 크게 경우를 나누어 필요하다고 생각하는 부분만 시나리오, 통합, 단위 테스트를 나누어 진행하는 것이 효율적이라고 들었다. 배포를 계속 해오면서 jar 파일을 빌드하는 도중 테스트를 제외하는 것은 무의미하다고 판단했기 때문에, 모든 테스트를 어떤 환경에서든 돌아 갈 수 있게 고민을 했던 기억이 있다. 이렇게 하나하나 완성도 있게 쌓아나가는 공부를 하는 것이 속도는 느리지만, 유의미한 발전 과정이라 느낀다. 이번에 대규모 리팩토링을 실시하면서 코드 수정 및 구조가 크게 개편되었고, 테스트 코드도 변경 사항이 많이 생겨서 다 수정했다. persi.. 2022. 12. 21. [Refactor] 패키지 구조와 의존성 두 번째 프로젝트의 코드 작성이 거의 끝났고, 테스트 코드 작성을 앞두며 코드 리뷰를 받았다. 가장 큰 골자는 아무래도 참조 관계이다. 패키지 구조를 Layered에서 약간의 DDD(애매하지만 ㅎㅎ) 를 곁들인 구조로 변경했다. 그 과정에서 패키지 간 의존성에 대해서 고민해보고 작명하는 것과 설계하는 시간이 정말 오래 걸렸다. 코딩을 공부하면 할 수록 작은 것에 시간을 오래 들이게 되는 걸 느낀다. 어제는 패키지 이름을 짓는데 반나절이 걸렸다. 회사에서는 변수명 짓는 걸로도 회의를 한다고 하니 약간 실감이 나기도 한다. 이렇게 디테일하게 채워나가면 그 만큼 내 실력이 된다고 믿습니다. 최상위 구조 auth : 인증, 인가 처리 스프링 시큐리티 이용 스프링 컨테이너까지 도달하지 않는 필터 위주이기 때문에 .. 2022. 10. 14. 「파일 업로드/다운로드 및 테스트」 이번 주에 Sonarqube를 공부하고 적용하기 전 전체적인 코드를 다시 검토 중이었다. 빼놓은 필수적인 기능이 있다는 것을 알게 되었다. 상품 테이블에는 이미지 파일 이름 칼럼이 존재하는데 이를 깜박했던 것이다. 파일 업로드, 다운로드 기능을 급하게 적용하게 되었고, 이 과정을 기록으로 작성하겠다. 파일 업로드 파일을 등록하는데 필요한 타입으로 스프링에서는 MultipartFile 인터페이스를 제공한다. 이를 통해 파일 업로드 및 다운로드를 쉽게 구현할 수 있다. 파일 업로드를 이용하는 내 API는 상품 추가와 수정이다. 먼저 파일 업로드할 위치를 내부 경로와 외부 경로중 고민을 했다. 저번 프로젝트 때는 프로젝트 내부로 지정했지만, 이렇게 하게 되면 배포 시 이미지 경로를 못 찾을 수 있다고 한다. .. 2022. 7. 1. 이전 1 다음 반응형