[java] Mockito를 사용하여 동적으로 생성된 객체를 테스트하는 방법은?

Mockito는 자바에서 유닛 테스트를 작성할 때 자주 사용되는 모의 객체(Mock Object) 프레임워크입니다. Mockito를 사용하면 테스트할 객체의 동작을 정확하게 제어하고, 의존성을 가진 객체들을 흉내 내어 테스트를 보다 쉽게 수행할 수 있습니다.

동적으로 생성된 객체를 테스트하기 위해서는 Mockito의 mock() 메서드를 사용해야 합니다. 이 메서드는 지정된 인터페이스를 구현한 가짜 객체를 생성해줍니다. 따라서 우리는 해당 인터페이스를 사용하는 동적 객체를 테스트하는 데에도 활용할 수 있습니다.

아래는 Mockito를 사용하여 동적으로 생성된 객체를 테스트하는 예시 코드입니다.

public interface MyInterface {
    int doSomething();
}

@Test
public void testDynamicObject() {
    MyInterface dynamicObject = Mockito.mock(MyInterface.class);

    // 동적 객체의 메서드 호출에 대한 동작을 정의합니다.
    Mockito.when(dynamicObject.doSomething()).thenReturn(42);

    // 동적 객체의 메서드를 호출하고 결과를 확인합니다.
    int result = dynamicObject.doSomething();

    // 결과를 검증합니다.
    Assert.assertEquals(42, result);
}

위의 예시 코드에서는 MyInterface 인터페이스를 구현한 동적 객체를 생성하여 테스트합니다. Mockito.mock() 메서드를 이용해 MyInterface.class를 인자로 전달하여 동적 객체를 생성하고, Mockito.when().thenReturn() 구문을 사용하여 doSomething() 메서드의 호출에 대한 동작을 정의합니다.

테스트를 실행하면 doSomething() 메서드가 호출되고, 정의한 동작에 따라 42를 반환하게 됩니다. result 값과 42를 비교하여 테스트를 검증할 수 있습니다.

동적으로 생성된 객체를 테스트하려면 Mockito의 mock() 메서드와 when().thenReturn() 구문을 활용하여 동작을 정의하고, 테스트를 수행하고 결과를 검증하면 됩니다.

더 자세한 내용은 Mockito 공식 문서(https://site.mockito.org/)를 참조하시기 바랍니다.