스프링부트 공부기록(3) - 롬복 사용하기
my code archive
article thumbnail
반응형

🔍롬복이란?

  • 자바 개발 시 자주 사용하는 코드 Getter, Setter, 기본생성자 등을 어노테이션으로 자동으로 생성해줌.
  • 인텔리제이에서는 플러그인 덕분에 쉽게 설정이 가능함.

 

1. build.gradle에 라이브러리 추가

implementation('org.projectlombok:maven-lombok-plugin:0.9.3.1')

 

2. Lombok 플러그인 설치

 

3. 롬복에 대한 설정 - settings - Annotation Processors - Enable annotation processing 체크

 

 

4. Dto 패키지 추가

 

 

4. 앞서 작성한 코드를 롬복 코드로 변경하기 위한 HelloResponseDto 생성

 

큰 규모의 프로젝트라면 롬복 전환이 어렵지만 테스트 코드 덕분에 쉽게 변경이 가능하다!! 테스트 코드의 중요성!

 

🔍@Getter : 선언된 모든 필드의 get 메소드를 생성해줌.

🔍@RequiredArgsConstructor : 선언된 모든 final 필드가 포함된 생성자를 생성해줌.

 

5. HelloResponseDtoTest 클래스 생성

 

  • Junit의 기본 assertThat이 아닌 assertj의 assertThat을 사용
  • Junit의 assertThat을 쓰게 되면 is()와 같이 별도 라이브러리가 필요
  • 자동 완성이 좀더 확실히 지원됨.

 

6. 테스트 통과

 

 

7. HelloController에도 새로 만든 ResponseDto를 사용하도록 코드 추가.

 

 

8. HelloControllerTest 

 

🔍jsonPath

  • JSON 응답값을 필드별로 검증할 수 있는 메소드
  • $를 기준으로 필드명을 명시함.
  • 여기에서는 name, amount를 검증하므로 $.name, $.amount로 검증
    @Test
    public void helloDto가_리턴된다() throws Exception {
        String name = "hello";
        int amount = 1000;

        mvc.perform(
                        get("/hello/dto")
                                .param("name", name)    //API 테스트 시 사용될 요청 파라미터 설정
                                .param("amount", String.valueOf(amount)))   //String만 허용되기 때문에 문자열로 변경하여 사용
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.name", is(name)))
                .andExpect(jsonPath("$.amount", is(amount)));
        }

 

9. 테스트 통과

 

 

많은 회사에서 테스트코드의 중요성을 갖오하고 있으니 끝까지 열심히 공부해서 테스트 코드를 작성하는 일에 익숙해 지도록 하자!!

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형