본문 바로가기
728x90

junit2

컨트롤러 단위 테스트시 모든 요청에 대한 공통 속성 적용하기 이번에 사내에서 Spring REST Doc을 이용하여 API 문서화 작업을 진행 중 컨트롤러 테스트 코드에 공통적으로 적용되는 속성에 대한 코드가 반복적으로 나타나는 부분을 리팩토링 한 내용을 공유할까 합니다. 밑의 코드는 테스트 코드 작성 시 코드마다 반복되는 부분을 나타내는 코드입니다. (회사 api의 상세 주소는 공개할 수 없기 때문에 주소는 간략하게 작성하였습니다.) 코드를 보시면 contextPath, characterEncoding, contentType이 계속 반복되는 것을 볼 수 있습니다. 처음에는 대수롭지 않게 넘어갔는데 테스트 코드가 점점 많아질수록 저 코드를 치는 것조차 조금씩 귀찮아지더라고요... @WebMvcTest( controllers = CommonApiControllerT.. 2023. 4. 10.
Spring - 테스트와 TDD 테스트란? 개발자가 예상하고 의도했던 대로 코드가 정확히 동작하는지 확인해서 만든 코드를 확신할 수 있게 해주는 작업입니다. 테스트하고자 하는 대상이 명확하다면 그 대상에만 집중해서 테스트하는 것이 바람직합니다. 테스트하려는 범위가 클수록 테스트가 힘들어지고 오류가 발생했을 때 정확한 원인을 찾기가 힘들어지므로 가능하면 테스트의 관심이 다르다면 테스트할 대상을 분리(관심사의 분리) 하고 작은 단위로 쪼개서 테스트를 하는 것이 좋습니다. 이것을 단위 테스트라 합니다. 이전 포스트에서 테스트를 하기 위해 사용했던 main() 메소드를 보시면 테스트를 하기 위해서 프레젠테이션, 서비스 계층이 필요 없고 한 가지 관심에 집중해서 작은 단위로 테스트를 할 수 있기 때문에 단위 테스트를 적용했다 할 수 있습니다. .. 2023. 3. 26.
728x90