Spring3 [JUnit5] @ParameterizedTest, @MethodSource 기존에 작성했던 테스트 코드에서는 "게시글 생성"이라는 기능에 대해 테스트를 하기 위해 @Nested@DisplayName("게시글 생성")class createPostTest { @Test void createPost_성공() { ... } @Test void createPost_존재하지않는사용자() { ... } @Test void createPost_존재하지않는문제번호() { ... } @Test void createPost_존재하지않는카테고리() { ... }}이런 식으로 모든 예외 케이스에 대해서 하나씩 메소드를 만들어 검증하고 있다. 하지만 이처럼 진행하면 중복되는 부분도 많아지고.. 2025. 6. 19. [Spring/Test Code] Unnecessary stubbings detected, UnnecessaryStubbingException 문제@ParameterizedTest@MethodSource("invalidCreatePostArgs")void createPost_예외( Long userId, Long problemNumber, List categories, Class expectedException, ErrorMessage errorMessage) { PostCreateEditRequestDto requestDto = PostFixture.requestDto(problemNumber, categories, PostFixture.TEST_TITLE, PostFixture.TEST_CONTENT); // 존재하지 않는 사용자 ID라면 empty given(userRepository.findBy.. 2025. 6. 19. @RequiredArgsContructor, @AllArgsContructor, @NoArgsContructor 관성적으로 쓰던 어노테이션 중에서 @RequiredArgsContructor, @AllArgsContructor, @NoArgsContructor 가 있었는데 개념을 파악하고자 글을 써본다..@RequiredArgsContructorfinal 필드나 @NonNull이 붙은 필드만 포함하는 생성자를 자동 생성한다.꼭 필요한 필드만 주입받는 생성자를 만들어준다.주로 의존성 주입 (DI) 목적으로 사용한다.@AllArgsContructor모든 필드를 매개변수로 갖는 전체 생성자를 자동 생성한다.DTO, 테스트용 객체 등에 사용하기 좋다.import lombok.RequiredArgsConstructor;import lombok.AllArgsConstructor;import lombok.ToString;@Req.. 2025. 6. 6. 이전 1 다음