[java] Mockito를 사용하여 원본 객체의 메소드 호출을 유지하는 방법은?

다음은 Mockito를 사용하여 원본 객체의 메소드 호출을 유지하는 예제입니다.

import static org.mockito.Mockito.*;

@RunWith(MockitoJUnitRunner.class)
public class ExampleTest {

    @Mock
    private SomeObject someObject;

    @Test
    public void testSomeMethod() {
        // 원본 객체의 메소드 호출 유지
        when(someObject.someMethod()).thenCallRealMethod();

        // 실제 메소드 호출
        String result = someObject.someMethod();

        // 결과 확인
        assertEquals("Expected result", result);
    }
}

위의 예제에서 someObjectSomeObject 클래스의 인스턴스입니다. someMethod()SomeObject 클래스에 정의된 메소드입니다. when(someObject.someMethod()).thenCallRealMethod()를 통해 메소드 호출을 유지하도록 지정합니다.

이렇게 하면 someObject.someMethod()가 호출될 때 실제 SomeObject 클래스의 someMethod()가 실행됩니다. 따라서 예제에서는 “Expected result”라는 결과를 반환하는 것을 확인할 수 있습니다.

추가로, @RunWith(MockitoJUnitRunner.class) 어노테이션을 사용하여 테스트 클래스에서 Mockito를 사용할 수 있도록 설정합니다.

위의 예제는 Java를 기반으로 작성된 Mockito의 간단한 사용 예시입니다. Mockito에 대한 자세한 내용은 Mockito의 공식 문서를 참고하시기 바랍니다.

참고 문서: Mockito 공식 문서