[java] Mockito를 활용한 테스트 코드 작성의 팁

Mockito는 Java에서 테스트하기 어려운 부분을 손쉽게 테스트 할 수 있도록 도와주는 도구입니다. Mockito를 사용하면 외부 의존성을 가짜로 대체할 수 있어서 테스트가 더 간단해집니다. 이 글에서는 Mockito를 활용하여 효과적인 테스트 코드를 작성하는 몇 가지 꿀팁을 소개하겠습니다.

1. Mocking 객체 생성하기

Mockito를 사용하여 객체를 생성하려면 Mockito.mock() 메서드를 사용합니다.

// 예시: UserService를 mocking하는 코드
UserService userService = Mockito.mock(UserService.class);

2. 메서드 호출 및 반환값 지정하기

Mockito를 사용하면 메서드가 호출되었을 때 원하는 값을 반환하도록 설정할 수 있습니다.

// 예시: UserService에서 getUser 메서드가 호출되었을 때 특정 사용자를 반환하도록 지정하는 코드
User user = new User("John Doe");
Mockito.when(userService.getUser("john")).thenReturn(user);

3. 메서드가 특정 매개변수로 호출되었는지 검증하기

Mockito를 사용하면 메서드가 특정 매개변수로 호출되었는지 검증할 수 있습니다.

// 예시: UserService에서 updateUser 메서드가 "john" 사용자로 호출되었는지 검증하는 코드
Mockito.verify(userService).updateUser("john");

4. 예외 발생을 시뮬레이션하기

Mockito를 사용하여 메서드에서 예외를 시뮬레이션할 수 있습니다.

// 예시: UserService에서 deleteUser 메서드가 호출될 때 예외를 시뮬레이션하는 코드
Mockito.when(userService.deleteUser("invalidId")).thenThrow(new IllegalArgumentException("Invalid user ID"));

5. Mock 객체 초기화하기

Mock 객체를 초기화하려면 MockitoAnnotations.initMocks() 메서드를 사용합니다.

// 예시: 테스트 클래스에서 모든 @Mock 애노테이션을 초기화하는 코드
MockitoAnnotations.initMocks(this);

Mockito를 적절하게 활용하면 테스트 코드를 더욱 효과적으로 작성할 수 있습니다. Mockito 사용법에 대해 더 자세히 알고 싶다면 Mockito 공식 홈페이지를 참고해보세요.

이상으로 Mockito를 활용한 테스트 코드 작성에 대한 팁을 알아보았습니다. 테스트 코드 작성 시 도움이 되길 바랍니다.

참고: Mockito 공식 홈페이지