2022년 1월 5일 기록

yshjft·2022년 1월 5일
0

하루 기록

목록 보기
7/16

빌더 패턴

lombok을 이용할 경우 @Builder 통해 쉽게 사용할 수 있다.

빌더 패턴 장점

  • 필요한 데이터만 설정할 수 있다.
    넣을 필요 없는 필드는 따로 null로 처리 안해도 된다.
class A {
	int a;
    int b;
    int c;
    
    @Builder
    public A(int a, int b, int c) {
    	this.a = a;
        this.b = b;
        this.c = c;
    }
}

...

A.builder()
   .a(a)
   .b(b)
   .build();
   
// 위의 경우 c에는 null이 들어 간다.
  • 가독성이 좋다.
  • 유연성을 확보할 수 이싿.

@Builder는 클래스 상단 보다는 생성자 상단에 위치하도록 하라

  • 클래스 상단에 선언하면 비즈니스 로직에서 어떻게 객체를 생성하는지 추척이 어렵다.
  • 개발자의 실수로 필드를 누락하여 null이 들어간 경우 이를 런타임때 발견할 수 있다 .

@Transactional

아래와 같은 이점을 준다.

  • transaction begin, commit을 자동 수행해준다.
  • 예외를 발생시키면, rollback 처리를 자동 수행해준다. → C, U, D시 사용

stubbing

stubbing은 메소드의 행동을 원하는 대로 미리 정해두는 것을 말한다.

ex)
when(~~~).thenReturn(~~~);
when(~~~).thenThrow(~~~);

verify method

👍 여기에서는 지금까지 사용해본 2가지만 적고 나머지는 아래 다른 분이 작성하신 끝내주는 정리글을 보자 👍

  • verify(mock).method(param)
    해당 Mock 객체의 메서드가 제대로 호출 되었는지 검증한다.

  • verify(mock, never()).method(param);
    해당 Mock 객체의 메소드가 호출이 안되었는지 검증한다.

👍 끝내주는 정리 👍

참고

profile
꾸준히 나아가자 🐢

0개의 댓글