[java] Mockito를 사용하여 메소드 호출 시 예외를 발생시키지 않고 테스트하는 방법은?

모키토(Mockito)는 자바에서 유닛 테스트를 쉽게 작성하기 위한 목 프레임워크입니다. 예외를 발생시키지 않고 메소드를 테스트하기 위해서는 Mockito의 when 함수를 사용하여 예외를 던지도록 설정해야합니다.

아래는 예제 코드입니다.

import static org.mockito.Mockito.*;

@Test
public void testMethodWithoutException() {
  // 모키토로 목 객체를 생성합니다
  MyClass myClassMock = mock(MyClass.class);

  // 예외를 발생시키지 않도록 설정합니다
  when(myClassMock.method()).thenReturn("Expected Result");

  // 테스트 코드 작성
  // ...

  // 메소드 호출이 예상한대로 수행되었는지 검증합니다
  verify(myClassMock).method();
}

위의 예제에서는 MyClass라는 클래스에 있는 method 메소드를 테스트합니다. when(myClassMock.method()).thenReturn("Expected Result") 코드를 사용하여 method 메소드가 호출되었을 때 예외를 발생시키지 않고 “Expected Result”라는 값을 반환하도록 설정합니다.

테스트 코드를 작성한 후 verify(myClassMock).method() 코드를 사용하여 메소드 호출이 예상한대로 수행되었는지를 검증합니다. 이를 통해 예외를 발생시키지 않고 메소드가 정상적으로 동작하는지 확인할 수 있습니다.

추가로, 필요에 따라 thenReturn 대신 thenThrow 함수를 사용하여 목 객체가 특정 예외를 던지도록 설정할 수도 있습니다. 이를 통해 예외 상황을 테스트할 수 있습니다.

더 자세한 내용은 Mockito의 공식 문서를 참조하시기 바랍니다.

참고문서: Mockito Documentation