[java] Mockito의 Annotation인 @Mock, @InjectMocks, @Spy의 역할은 무엇인가?

이와 같이 Mockito의 @Mock, @InjectMocks, @Spy 어노테이션들은 테스트 코드에서 목 객체와 스파이 객체를 사용하기 위한 편리한 기능들을 제공합니다. 이를 통해 단위 테스트를 작성하고, 의존성 주입을 편리하게 처리할 수 있습니다.

import org.mockito.Mock;
import org.mockito.InjectMocks;
import org.mockito.Spy;

public class ExampleTest {
    @Mock
    private ExampleService exampleServiceMock;

    @InjectMocks
    private ExampleController exampleController;

    @Spy
    private ExampleRepository exampleRepositorySpy;

    // 테스트 코드 작성
}

참고 문서: