Mockito는 개발자가 동작을 직접 제어할 수 있는 가짜(Mock) 객체를 지원하는 테스트 프레임워크이다. 가짜 객체에 원하는 결과를 Stub하여 단위 테스트를 진행할 수 있다.
Mockito에서 Mock(가짜) 객체의 의존성 주입을 위해서는 크게 3가지 어노테이션이 사용된다.
@Mock으로 생성된 가짜 Service 객체를 @InjectMocks을 통해 Controller에 주입시킬 수 있다.
의존성이 있는 객체는 가짜 객체(Mock Object)를 주입하여 어떤 결과를 반환하라고 정해진 답변을 준비시켜야 한다. Mockito에서는 다음과 같은 stub 메소드를 제공한다.
Mockito도 테스팅 프레임워크이기 때문에 JUnit과 결합되기 위해서는 별도의 작업이 필요하다. SpringBoot 2.2.0부터 공식적으로 JUnit5를 지원함에 따라, @ExtendWith(MockitoExtension.class)를 사용해야 결합이 가능하다.