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

양치잘하기님의 프로필 이미지

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

트랜잭션 - 적용1

람다식이 이해가 안됩니다.

해결된 질문

작성

·

164

0

멤버서비스 테스트에서 예외가 발생했을때 사용한 람다식이 해석이 안됩니다. 무슨 의미 인가요?

assertThatThrownBy(()-> member service.accountTransfer(members.getMemberId(), memberEx.getMemberId(), 2000)
.isInstanceOf(IllegalStatementException.class);

위 람다식은 어떻게 해석해야 하나요?

 

답변 1

1

안녕하세요. 양치잘하기님, 공식 서포터즈 David입니다.

아래 코드에서 람다식은 memberService.accountTransfer()를 실행하는 것 밖엔 없습니다.

람다식을 감싸고 있는 assertThatThrownBy는 람다식이 실행되었을 때 내부에서 예외가 발생되는걸 감지하고, isInstanceOf 메서드에 발생된 예외 탕비이 넘겨진 예외타입(IllegalStatementException과 일치하는지 확인합니다.

assertThatThrownBy(

  ()-> memberService.accountTransfer(

      members.getMemberId(),

      memberEx.getMemberId(),

      2000

  )

.isInstanceOf(IllegalStatementException.class);

감사합니다.