2021년 9월 5일

김대웅·2021년 9월 5일

TIL

목록 보기
20/33

회고

Facts(사실, 객관)

  • @MockBean 개체 when - thenRethurn구문으로 mocking시 실제 메서드가 호출되는 문제 해결

Feelings(느낌, 주관)

  • 모든 세팅은 최대한 동일하게 맞추아야 겠다.

Findings(배운 점)

  • 모든 세팅은 최대한 동일하게 맞추어야 한다.

Affirmation(자기 선언)

  • 나는 모든 세팅을 동일하게 맞추어 개발하는 사람이다.

10:00 ~ 12:02

Facts(사실, 객관)

  • @MockBean 개체 when - thenRethurn구문으로 mocking시 실제 메서드가 호출되는 문제 해결
    • doReturn - when구문의 경우 사이드이펙트가 없으므로, 실제 메서드가 호출되지 않는다.
    • 하지만 리턴 타입을 컴파일 타임에 체크해주지 않는다.
    • 리턴 타입이 다른경우 런타임에 예외를 던진다.

Feelings(느낌, 주관)

  • 로컬 환경에서는 gradle7/jdk16으로 테스트를 하였고, github ci에서는 gradle6/jdk15로 테스트를 수행하였음
    • 로컬 환경에서는 통과하는 테스트가 github ci에서는 실패하는 문제가 발생하였음
    • 모든 세팅은 최대한 동일하게 맞추어야 하는걸 느꼈다.
    • when - thenReturn구문에서 실제 메서드가 호출되는 것은 Spy개체의 특성인데, 왜 MockBean개체에서 메서드가 호출되는지 모르겠다.

Findings(배운 점)

  • 모든 세팅은 최대한 동일하게 맞추어야 한다.
    • docker를 배워야겠다.
  • doReturn - when구문과 when - thenReturn구문의 차이점
    1. doReturn - when구문의 경우 컴파일 타임에 리턴타입을 체크해주지 않는다.
      • 대신 리턴타입이 다른경우 런타임에 예외를 던진다.
    2. doReturn - when구문은 when - thenReturn과 달리 사이드 이펙트가 없다.
    3. spy 개체는 mock개체와는 달리 when - thenReturn구문에서 실제로 메서드가 호출된다.
      • 따라서 해당 메서드가 예외를 던진다면 문제가 발생할 수 있다.

Affirmation(자기 선언)

  • 나는 모든 세팅을 동일하게 맞추어 개발하는 사람이다.
profile
42seoul cadet

0개의 댓글