테스트코드3 「파일 업로드/다운로드 및 테스트」 이번 주에 Sonarqube를 공부하고 적용하기 전 전체적인 코드를 다시 검토 중이었다. 빼놓은 필수적인 기능이 있다는 것을 알게 되었다. 상품 테이블에는 이미지 파일 이름 칼럼이 존재하는데 이를 깜박했던 것이다. 파일 업로드, 다운로드 기능을 급하게 적용하게 되었고, 이 과정을 기록으로 작성하겠다. 파일 업로드 파일을 등록하는데 필요한 타입으로 스프링에서는 MultipartFile 인터페이스를 제공한다. 이를 통해 파일 업로드 및 다운로드를 쉽게 구현할 수 있다. 파일 업로드를 이용하는 내 API는 상품 추가와 수정이다. 먼저 파일 업로드할 위치를 내부 경로와 외부 경로중 고민을 했다. 저번 프로젝트 때는 프로젝트 내부로 지정했지만, 이렇게 하게 되면 배포 시 이미지 경로를 못 찾을 수 있다고 한다. .. 2022. 7. 1. 「컨트롤러 단위 테스트」 https://github.com/GroovyArea/MyChickenBreastShop GitHub - GroovyArea/MyChickenBreastShop: ChikenBreastShop API with Spring boot ChikenBreastShop API with Spring boot. Contribute to GroovyArea/MyChickenBreastShop development by creating an account on GitHub. github.com 저번 주에 처음으로 단위 테스트를 공부하고 적용시키며 Spring REST Docs를 이용해 적용시켰다. 처음 단위 테스트를 작성하다 보니 미흡한 부분이 좀 있었다. 그 부분을 수정해가며 다른 컨트롤러의 단위 테스트를 추가로 작성.. 2022. 6. 23. 2022.04.23 의 기록 ▶ 계획 1. Gradle test 코드 수정 2. 스프링 PSA 추상화 정리 ▷ test code 문제 : 게임 카운트 증가 테스트 시 계속 테스트 실패 원인 : 디버깅 해봤더니 계속 default 걸려서 보니까 switch문 break 추가 안함.. > 카운트 값 자체를 비교하는게 아니라 증가 여부만 판단했다. ▷ 스프링 PSA 추상화 > 스프링 내부 구현 클래스들이 추상화 되어 있는 이유? > PSA와 연관이 있다. > 서비스를 추상화함으로써 개발자가 실제 구현부를 알지 못하더라도 해당 기능을 사용할 수 있게된다. 즉, 추상화 계층인 인터페이스 API 의 정보를 활용해 해당 서비스의 모든 기능을 이용하면 되는 것이다. > 추상화 계층을 사용해 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공하는 .. 2022. 4. 23. 이전 1 다음 반응형