회고

210305_TIL

코동이 2021. 3. 7. 01:33

* 어제의 다짐

1. 테스트코드 작성 마무리하기

=> 테스트 코드 작성 완료

 

2. JWT에 관한 Entity <-> Dto 변환 로직과 테스트 리팩토링 완료하기

=> Dozer Mapper 이외에 부분 of 로 정적 팩토리 메서드 생성

 

3. 정적팩토리 메서드에 대해 이펙티브 자바 살펴보고 글 찾아보기

=> 다음날

 

4. @EqualsAndHashCode 학습하기

=> 생성 방법에 대해 공부

 

5. @RequiredArgsConstructor가 안전한지 문서 번역하고 토론하기

=> 결론은 롬복은 사용하지 않는 것으로..

*오늘 한 일

- given에 대한 테스트에서 willThrow에서 매개변수 안에 어떻게 넣는지에 따라 결과가 다르다. 예외 메세지 발생의 여부를 정리하였다. 어떤 함수를 제대로 알고 쓰려면 꼭 공식문서를 한번씩 읽어보면 좋겠다.

 

- Entity와 Dto를 자유자재로 변환하기 위하여 정적 팩토리 메서드 of (Dto -> Entity) 를 만들었다. 그 전에는, 각 서비스마다 직접 변환함수를 만들어서 변환시키도록 했다. 하지만 정적 팩토리 메서드를 만들면 훨씬 편하게 변환이 가능하다.

 

- .given에서 생성이 필요할 때 꼭 any로 감싼다. 그렇지 않으면 null에 관한 오류가 발생한다. 그 이유는 간단하지만  escapefromcoding.tistory.com/259 에 적었다.

 

- 람다를 이용해서 filter와 map을 사용하였다. filter와 map을 사용하였는데, filter는 매개변수를 Predicate로 받기 때문에 조건 검사를 할 수 있다. "~가 아닌 것"을 고를 때 Predicate.Not을 사용한다. .filter(Predicate.not(User::isDeleted) 를 예로 들면 "삭제되지 않은 것"을 찾도록 조건문이 추가된다. map에서는 변환이 가능하다. .map(UserResultData::of)를 통해서 User를 UserResultData 반환형으로 바꾸었다.

*내일 할 일

- JWT 생성 시, 비밀번호 이용하지 않도록 고치기

- JWT 생성 수정에 따른 리팩토링하기

- 나머지 클래스에 대해서 테스트 리팩토링하기

반응형