본문 바로가기

Multipart2

[Spring MVC] @WebMvcTest 에서 Multipart 테스트 하기. 0. 개요 Controller 를 대상으로 단위테스트를 작성해보고자 했는데, 테스트 하고자 했던 API 가 상품 등록 API 였습니다. 상품 등록 시, 필요한 정보는 아래와 같았습니다. 1. 상품명, 상품가격, 재고수량, 상품의 상/하위 카테고리 정보, 상품 설명 2. 상품을 표시할 때 사용할 대표 이미지 1번의 내용만 필요했다면 단순했겠지만, 문제는 2. 상품을 표시할 때 사용할 대표 이미지 입니다. 통상적으로 File 같은 정보가 API 에 Request 에 포함되게 하기 위해선, Content-Type 을 application/json 방식이 아닌 multipart/form-data 방식을 사용해야 합니다. 따라서, 해당 API 를 테스트하기 위해선 multipart/form-data 방식의 요청을.. 2023. 9. 22.
[ATDD] RestAssured를 이용해 multipart/form-data 요청 테스트 시, 한글 깨지는 오류 해결하기 사이드 프로젝트를 하다가 파일 업로드 기능을 개발했다. 파일 업로드의 경우, Request 의 Content-Type 을 multipart/form-data 로 보내도록 했는데, application/json 일 때, 문제가 없었던 한글깨짐 현상이 발생해서 테스트가 실패로 나오는 문제를 겪었다. 해당 문제를 해결한 과정을 적어보려고 한다. 1. 발생한 문제 보통 인수테스트를 작성할 때, 요청의 Content-Type(a.k.a MediaType, 구. Mime Type) 을 application/json 으로 보냈는데, 파일 업로드 기능을 테스트 하기 위해 요청의 Content-Type을 multipart/form-data 로 변경했다. 당연히, 그에 따라 Controller 의 파라미터에도 변화가 생겼.. 2023. 4. 22.