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/)를 참조하시기 바랍니다.