회고
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(배운 점)
- 모든 세팅은 최대한 동일하게 맞추어야 한다.
doReturn - when구문과 when - thenReturn구문의 차이점
doReturn - when구문의 경우 컴파일 타임에 리턴타입을 체크해주지 않는다.
- 대신 리턴타입이 다른경우 런타임에 예외를 던진다.
doReturn - when구문은 when - thenReturn과 달리 사이드 이펙트가 없다.
- spy 개체는 mock개체와는 달리
when - thenReturn구문에서 실제로 메서드가 호출된다.
- 따라서 해당 메서드가 예외를 던진다면 문제가 발생할 수 있다.
Affirmation(자기 선언)
- 나는 모든 세팅을 동일하게 맞추어 개발하는 사람이다.