Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
org.mockito.exceptions.misusing.UnnecessaryStubbingException:
Unnecessary stubbings detected.
Clean & maintainable test code requires zero unnecessary code.
Following stubbings are unnecessary (click to navigate to relevant line of code):
1. -> at com.example.taste.domain.user.service.UserServiceUnitTest.getUserProfile(UserServiceUnitTest.java:35)
Please remove unnecessary stubbings or use 'lenient' strictness. More info: javadoc for UnnecessaryStubbingException class.
at org.mockito.junit.jupiter.MockitoExtension.afterEach(MockitoExtension.java:192)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Mock으로 테스트 중 이런 오류가 발생하였다.
UnnecessaryStubbingException은 Mockito에서 설정했지만 실제 테스트 흐름에서 stubbing이 쓰이지 않을 때 발생하는 오류라고 한다.
when(userRepository.findById(any())).thenReturn(Optional.of(...));
내가 작성한 테스트코드에서 이렇게 stubbing을 해놨는데, 이게 테스트 중 호출이 되지 않아 발생한 문제였다.
사용하지 않는 stubbing 이면 지우거나 주석처리를 해두도록 하자.