[java] Mockito를 사용하여 생성자 호출을 모킹하는 방법은?

Mockito는 Java에서 단위 테스트를 할 때 자주 사용되는 모의 객체 프레임워크입니다. 이를 사용하면 생성자 호출을 모킹해야 할 때 유용하게 사용할 수 있습니다. 아래의 예제를 통해 Mockito를 사용하여 생성자 호출을 모킹하는 방법을 알아보겠습니다.

public class MyClass {
    private MyDependency myDependency;

    public MyClass() {
        this.myDependency = new MyDependency();
    }

    public String getData() {
        return this.myDependency.getData();
    }
}

위의 예제에서 MyClassMyDependency라는 의존성을 가지고 있습니다. MyClass의 생성자에서 MyDependency 객체를 생성하는데, 이를 모킹하여 테스트하고 싶은 경우 Mockito를 사용할 수 있습니다. 아래의 예제를 참고하세요.

import org.junit.Test;
import org.mockito.Mockito;

public class MyClassTest {

    @Test
    public void testGetData() {
        MyDependency mockedDependency = Mockito.mock(MyDependency.class); // MyDependency 모킹

        Mockito.when(mockedDependency.getData()).thenReturn("Mocked Data"); // getData() 메서드의 반환값을 모킹

        MyClass myClass = new MyClass();
        // 모킹된 메서드가 호출될 때 "Mocked Data"가 반환됩니다.
        assertEquals("Mocked Data", myClass.getData());
    }
}

위의 예제에서는 MyDependency를 모킹하기 위해 Mockito.mock() 메서드를 사용했습니다. 이렇게 모킹된 객체는 when()thenReturn() 메서드를 사용하여 메서드의 동작을 정의할 수 있습니다.

따라서 myClass.getData()를 호출하면 mockedDependency.getData() 대신에 “Mocked Data”가 반환되는 것을 확인할 수 있습니다.

위의 예제는 Mockito를 사용하여 생성자 호출을 모킹하는 방법을 보여주는 간단한 예제입니다. Mockito에는 다양한 기능과 유용한 메서드가 있으니 필요에 따라 공식 문서를 참고하시면 도움이 될 것입니다.


참고 자료