인프런 커뮤니티 질문&답변

유용석님의 프로필 이미지
유용석

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 리포지토리 테스트 케이스 작성

3:46 get() 관련 질문

해결된 질문

작성

·

183

1

Optional 관련해서 공부를 좀 해보았는데

테스트는 통과를 하나 이렇게 작성한것이 맞는지 궁금합니다.

예를 들어 save test에서

get()으로 꺼낼때

Member result = repository

.findById(member.getId()).get(); 이라면

Member result = repository

.findById(member.getId()).orElse(member);

로 바꾸어서 사용하면 되나요?

답변 3

2

아래 포스팅도 참고해보시면 좋을 것 같습니다.

Java Optional 바르게 쓰기

https://bit.ly/3aGz3LD

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 유용석님

orElse(member) 라고 해버리면 findById(..)에서 회원이 조회되지 않으면 orElse에 넘긴 member가 조회되어 버립니다. 그러면 좀 이상하겠지요?

지금은 테스트를 하는 코드이기 때문에, 단순히 get()를 사용하면 됩니다.

이 경우 다양한 선택지가 있는데요. 위에 루시님이 올려주신 링크를 보시면 도움이 되실거에요^^!

감사합니다. 루시님~

0

orElse(null) 이라고 해야되지 않나요?

유용석님의 프로필 이미지
유용석

작성한 질문수

질문하기