Spring 통합테스트: Validation 문제 해결과 깊은 고민
·
Spring/테스트 코드
validation을 사용하여 dto 코드를 작성하고 통합테스트를 진행하던 도중 처음 겪는 문제에 직면했다. 📌 서론 통합테스트에서 "사용자가 잘못된 값을 입력해서 보내면 적절한 예외가 발생한다." 이런 bad 케이스 테스트를 작성하고 실행했다. 이때 예외가 발생해야 테스트가 성공하는데 내가 작성한 테스트에서는 예외가 발생하지 않았다. 그래서 나는 가장 먼저 사용자로부터 데이터를 받아오는 dto객체를 살펴봤다. 나는 dto 객체 내부에 Integer타입을 받는 변수를 선언해 주고 spring-validation의 기능을 적용하여 @Min(0)을 적어줬는데 이렇게 해주면 음수(-) 값이 들어왔을 때 검증에 의해 예외가 발생한다. 이렇게 열심히 세팅한 후 테스트를 진행했다. 그런데 보기 좋게 테스트에 실패했..
[Spring] 통합 테스트와 단위 테스트 비교하기
·
Spring/테스트 코드
통합테스트와 단위테스트를 작성하고 차이점을 비교해 보자 📌 서론 통합테스트 코드를 작성했는데 이런 생각이 들었다. "이걸 단위테스트 코드로 바꿔서 작성하면 기존 코드와 어떤 차이가 있을까? 그래서 당장 각 테스트 방법으로 코드를 작성하고 테스트를 해봤다. 지금부터 그 내용을 공유한다. 테스트를 하고자 하는 컨트롤러는 다음과 같다. 간단히 레시피를 생성하는 컨트롤러 메서드다. @RequestMapping("/recipe") @RequiredArgsConstructor @RestController public class RecipeController { private final CreateRecipeUseCase createRecipeUseCase; @PostMapping("/createRecipe") pu..