Projects/[Spring] Code Refactoring Project

[Spring Plus] 컨트롤러 테스트 성공시키기

montmer27 2026. 2. 28. 16:15

상황

테스트 패키지 org.example.expert.domain.todo.controller의 todo_단건_조회_시_todo가_존재하지_않아_예외가_발생한다() 테스트가 실패하고 있다.

 

문제가 되는 테스트

원인 분석

then 절에 Breaking Point를 다 찍어보자.

MockMvc란 스프링 프레임워크에서 제공하는 웹 애플리케이션 테스트용 라이브러리를 의미한다. 

웹 애플리케이션의 다양한 컴포넌트를 테스트하기 위해 사용한다.

(출처: https://adjh54.tistory.com/347)

.andExpect(status().isOk()) 부분에서 에러가 터졌다.

테스트 코드에서는 200을 예상했지만 실제로는 400이 확인됐다. 존재하지 않는 데이터를 잘못 호출한 사용자발 에러이므로 400대 에러가 발생하는 게 정상인데, 이 테스트 코드에선 OK(200)을 예측했다.

따라서 이후 코드들도 점검한 뒤 필요시 수정해야 한다.

400번대 에러로 수정해주고 테스트를 다시 돌리면 성공했다.

해결 방법

BAD_REQUEST 응답이 돌아오는 상황에 OK 응답을 예측하고 테스트를 구성하였으므로, 알맞게 수정해주었다.

결과

테스트 성공