[java] Mockito를 사용하여 여러 개의 메소드 호출 시 다양한 동작을 정의하는 방법은?

Mockito는 자바에서 유닛 테스트를 위해 사용되는 목 프레임워크입니다. Mockito를 사용하면 실제 객체를 모방하여 동작을 정의하고 테스트할 수 있습니다.

여러 개의 메소드 호출 시 다양한 동작을 정의하기 위해서는 Mockito의 when-then 기능을 사용할 수 있습니다. 이 기능을 사용하면 메소드 호출에 따른 반환값, 예외 발생 등을 정의할 수 있습니다.

다음은 Mockito를 사용하여 여러 개의 메소드 호출 시 다양한 동작을 정의하는 예시입니다:

// 모킹할 객체 생성
SomeClass someClassMock = Mockito.mock(SomeClass.class);

// 메소드 호출에 대한 동작 정의
Mockito.when(someClassMock.someMethod()).thenReturn("ReturnValue");
Mockito.when(someClassMock.anotherMethod()).thenThrow(new IllegalArgumentException());

// 메소드 호출 테스트
assertEquals("ReturnValue", someClassMock.someMethod());
assertThrows(IllegalArgumentException.class, someClassMock::anotherMethod);

위의 예시에서는 SomeClass라는 클래스의 someMethod()anotherMethod()를 모킹하고 있습니다. someMethod()"ReturnValue"을 반환하도록 정의되어 있고, anotherMethod()IllegalArgumentException을 발생시키도록 정의되어 있습니다.

assertEquals()assertThrows()를 사용하여 메소드 호출을 검증할 수 있습니다.

위 예시를 참고하여 Mockito를 사용하여 여러 개의 메소드 호출 시 다양한 동작을 정의할 수 있습니다. Mockito를 사용하면 실제 객체를 모방하여 테스트하는 과정을 효과적으로 수행할 수 있습니다.

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

참고 문서: Mockito 공식 문서