[java] Mockito란 무엇인가?

Mockito는 Java에서 사용되는 오픈 소스 mocking 프레임워크입니다. Mockito를 사용하면 테스트 중에 객체의 행동을 가상으로 모방하거나 테스트 대상 객체의 일부를 가짜로 만들 수 있습니다. 이를 통해 의존성이 있는 코드를 테스트할 때 외부 의존성을 제어하고 격리시킬 수 있습니다. 이는 단위 테스트를 작성하거나 TDD(Test Driven Development) 방식으로 개발할 때 매우 유용합니다.

Mockito의 주요 기능

Mock 객체 생성

Mockito를 사용하여 Mock 객체를 만들 수 있습니다. Mock 객체는 실제 객체와 동일한 인터페이스를 가지며, 원하는 방식으로 동작하도록 설정할 수 있습니다.

// Mock 객체 생성
List<String> mockList = Mockito.mock(List.class);

Stub 설정

Stub은 특정 메서드가 호출될 때 어떻게 동작해야 하는지를 지정하는 것을 말합니다. Mockito를 사용하면 Mock 객체의 메서드 호출에 대한 Stub을 쉽게 설정할 수 있습니다.

// Stub 설정
Mockito.when(mockList.get(0)).thenReturn("Mockito");

행동 검증

Mockito는 Mock 객체의 메서드 호출이 올바르게 이루어졌는지를 검증하는 기능도 제공합니다. verify 메서드를 사용하여 메서드 호출 횟수, 인자 값 등을 검증할 수 있습니다.

// 메서드 호출 검증
Mockito.verify(mockList).add("Test");

Mockito의 장점

Mockito 참고 자료

Mockito는 자바 개발자들이 테스트 중에 외부 종속성을 제어하고 효과적인 단위 테스트를 작성할 수 있도록 도와줍니다. 익숙해지면 모의 객체로 작성된 테스트 코드를 작성하는 것이 훨씬 더 편리하고 유지 관리하기 쉬워질 것입니다.