본문 바로가기
728x90
반응형

분류 전체보기116

Java Mockito when(), BDDMokito given() 개발을 하면서 Junit5 Unit Test Framework 를 이용한 테스트코드를 작성하는데 다른 개발자분들이 짜놓은 코드를 보니 첫번째, 두번째, 세번째 Layer 는 given() 함수로 써있는데 마지막 네번째 Layer 만 when() 함수로 작성되어있었다. 그래서 무슨 이유가 있나? 하고 두 함수에 대해 찾아보았다.  테스트를 위해 Mock 객체를 만들고 리턴값을 설정하기 위해 Mockito의 when()함수를 쓰거나 BDDMockito의 given() 함수를 사용한다. 이 둘의 차이점에 대해 간단히 알아보자.   BDD(Behavior-Driven Development) 란? - 행위 주도 개발 - 테스트 대상의 상태의 변화를 테스트하는 것이고, 시나리오를 기반으로 테스트하는 패턴을 권장 -.. 2022. 8. 8.
logging @Slf4j 로깅이란 - 로깅(logging)은 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동을 말한다.   로그 레벨 - 레벨에 따라서 로그 메세지가 달라진다. - TRACE  - ERROR: 요청을 처리하는 중 오류가 발생한 경우를 표시한다. - WARN: 처리 가능한 문제, 시스템 에러의 원인이 될 수 있는 경고성 메시지를 표시한다. - INFO: 상태 변경과 같은 정보성 로그를 표시한다. - DEBUG: 프로그램을 디버깅하기 위한 정보를 표시한다. - TRACE: 추적 레벨은 DEBUG보다 좀 더 상세한 정보를 표시한다. * xml 파일에 원하는 레벨만 설정 가능   주요 Logging Framework - java.util.logging - Apache Commons log.. 2022. 8. 5.
lombok 라이브러리 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor @AllArgsConstructor - import lombok.AllArgsConstructor; - 모든 변수를 사용하는 생성자를 자동완성시켜주는 어노테이션이다.   @NoArgsConstructor - import lombok.NoArgsConstructor; - 기본 생성자를 자동완성시켜주는 어노테이션이다.   @RequiredArgsConstructor - import lombok.RequiredArgsConstructor; - 특정 변수만 활용하는 생성자를 자동 생성해주는 어노테이션이다.   생성자의 인자로 추가하는 방법으로는 @NonNull어노테이션과 변수를 final로 선언하는 두 가지 방법이 있다.   @AllArgsConstructor(access = AccessLevel.PRIVATE.. 2022. 8. 4.
lombok 라이브러리 @Getter, @Setter, @ToString, @Builder lombok - 어노테이션 기반으로 코드를 자동완성해주는 라이브러리  @Getter, @Setter - import lombok.Getter; - import lombok.Setter;@Getter, @Setter를 클래스에 적용하게 되면 모든 변수들에 적용이 가능하고, 변수에 적용하게 되면 해당 변수만 적용된다.  @ToString - import lombok.ToString; - ToString 메소드를 자동 생성해준다.    * ToStirng 메소드   @Builder - import lombok.Builder; - 객체 생성 및 초기화. 모든 멤버 변수를 설정할 수 있는 Builder Class를 생성. - 빌터패턴 - @Builder 어노테이션이 생기게된 과정 https://fvor001.ti.. 2022. 8. 3.
VO, DTO, Entity https://www.techie-knowledge.co.in/2018/06/layered-application-development-in-j2ee.html https://velog.io/@minnseong/DTO-DAO-VO VO (Value Object) - url을 통해 들어온 pram이 저장됨 - 값 자체를 표현하는 객체 - 단일 레이어에서만 사용하는 객체 - Getter/Setter 메소드 포함 가능 일반적으로 객체 불변성을 보장하기 위해 Setter 메소드가 없으나, 현재 프로젝트에서는 Setter 메소드 포함 가능 - 현재 프로젝트에서는 일반적인 VO 의미보다 단일 레이어에서만 사용하는 객체의 의미로 사용 - 동일한 VO 객체를 필요에 따라 분리하여 다수 정의할 경우 “기존객체이름+분리구분명.. 2022. 8. 3.
728x90
반응형