[java] Mockito를 사용하여 특정 메소드에 전달된 인자들로 다른 메소드를 호출한 결과가 예상한 순서대로 반환되는지 확인하는 방법은?
아래는 Mockito를 사용하여 예상한 순서로 메소드를 호출하는 방법에 대한 예시 코드입니다:
import static org.mockito.Mockito.*;
import org.mockito.InOrder;
// 가짜 객체 생성
List<String> mockedList = mock(List.class);
// 가짜 메소드 호출
mockedList.add("First");
mockedList.add("Second");
mockedList.add("Third");
// InOrder 객체를 생성하고 가짜 객체를 통해 메소드 호출의 순서를 확인
InOrder inOrder = inOrder(mockedList);
// 메소드 호출의 순서대로 verify
inOrder.verify(mockedList).add("First");
inOrder.verify(mockedList).add("Second");
inOrder.verify(mockedList).add("Third");
위의 코드에서는 mockedList
객체에 add
메소드가 세 번 호출되는지 확인합니다. inOrder.verify(mockedList).add("First")
를 호출하면 mockedList
객체에서 add("First")
메소드가 호출되었는지 확인합니다. 동일한 방식으로 나머지 두 번의 호출도 확인할 수 있습니다.
InOrder
객체를 사용하면 메소드 호출이 예상한 순서로 이루어지는지 확인할 수 있습니다. 이를 통해 코드의 동작이 올바른 지 확인할 수 있습니다.
Mockito에 대한 더 자세한 정보는 Mockito 공식 문서를 참조하시기 바랍니다. (Mockito 공식 문서)