[java] Mockito의 Spy 객체 사용 예시

Mockito는 Java 프레임워크에서 테스트 더블(Test Double)을 쉽게 생성하고 조작할 수 있게 해주는 라이브러리입니다. Spy 객체는 실제 객체의 일부 메서드를 유지하면서 다른 메서드를 가로채고 대체하는 데 사용됩니다. 이 기능은 객체의 일부 동작을 변경하거나 추가하는 데 유용합니다. 이제 Mockito를 사용하여 Spy 객체를 만들고 사용하는 방법을 알아보겠습니다.

Spy 객체 만들기

Spy 객체를 만들기 위해서는 spy 메서드를 사용하여 실제 객체를 감싸야 합니다.

// 실제 객체 생성
List<String> list = new ArrayList<>();

// Spy 객체로 변환
List<String> spyList = spy(list);

위의 예제에서 ArrayList를 이용하여 실제 객체를 생성한 후 spy 메서드를 사용하여 Spy 객체를 생성했습니다.

Spy 객체 사용하기

Spy 객체를 사용하여 메서드의 호출여부나 반환값을 검증하거나, 특정 메서드의 동작을 변경할 수 있습니다.

// Spy 객체의 일부 메서드 사용
spyList.add("one");
verify(spyList).add("one");

위의 예제에서 add 메서드를 호출한 후, verify 메서드를 사용하여 해당 메서드가 호출되었는지 검증했습니다.

결론

이상적으로 Spy 객체는 객체의 일부 동작을 변경하거나 감시하고 싶을 때 유용합니다. Mockito를 사용하여 Spy 객체를 만들고 사용하여 실제 객체의 동작을 조작하고 검증할 수 있습니다.

더 자세한 내용은 Mockito 공식 문서를 참고하세요.

Mockito 공식 문서