[java] Mockito를 사용하여 모의 객체(mock object)를 생성하는 방법

Mockito는 자바를 이용하여 단위 테스트할 때 모의 객체를 만들고 관리하는데 도움을 주는 인기있는 모의 라이브러리입니다. 모의 객체를 사용하면 외부 의존성을 피하고 코드를 격리시켜 테스트할 수 있습니다.

Mockito 모의 객체 생성하기

Mockito를 사용하여 모의 객체를 만들기 위해서는 Mockito.mock() 메서드를 사용합니다. 예를 들어, UserService 클래스의 모의 객체를 만들어보겠습니다.

UserService userServiceMock = Mockito.mock(UserService.class);

위의 예제에서는 UserService 클래스의 모의 객체를 userServiceMock 변수에 할당했습니다. 이제 userServiceMock를 사용하여 UserService 클래스의 메서드를 호출하고 메서드가 예상대로 동작하는지 확인할 수 있습니다.

모의 객체의 동작 지정하기

모의 객체의 동작을 지정하려면 Mockito.when().thenReturn() 메서드를 사용합니다. 예를 들어, getUserCount 메서드를 호출했을 때 10을 반환하도록 모의 객체의 동작을 지정하는 방법은 다음과 같습니다.

Mockito.when(userServiceMock.getUserCount()).thenReturn(10);

위의 예제에서는 getUserCount 메서드가 호출될 때 10을 반환하도록 지정했습니다.

모의 객체의 행동 검증하기

모의 객체를 사용하여 메서드를 호출한 후, 모의 객체의 메서드 호출 여부 및 호출 횟수를 검증할 수 있습니다. 예를 들어, getUserCount 메서드가 정확히 한 번 호출되었는지 검증하는 방법은 다음과 같습니다.

Mockito.verify(userServiceMock, Mockito.times(1)).getUserCount();

위의 예제에서는 getUserCount 메서드가 정확히 한 번 호출되었는지를 확인했습니다.

결론

Mockito를 사용하여 모의 객체를 생성하고 관리하는 방법을 살펴보았습니다. 모의 객체는 단위 테스트를 작성할 때 외부 의존성을 제어하고 코드를 격리시키는 데 유용합니다. Mockito를 사용하면 효과적으로 단위 테스트를 작성할 수 있으며, 모의 객체를 통해 코드의 동작을 확인하고 검증할 수 있습니다.

더 많은 정보는 Mockito 공식 웹사이트(https://site.mockito.org/)에서 확인할 수 있습니다.