Mockito
개발자가 동작을 직접 제어할 수 있는 가짜(Mock) 객체를 지원하는 테스트 프레임워크
일반적으로 Spring으로 웹 애플리케이션을 개발하면, 여러 객체들 간의 의존성이 생긴다. 이러한 의존성은 단위 테스트를 작성을 어렵게 하는데, 이를 해결하기 위해 가짜 객체를 주입시켜주는 Mockito 라이브러리를 활용할 수 있다.
Mockito를 활용하면 가짜 객체에 원하는 결과를 Stub하여 단위 테스트를 진행할 수 있다.
Mockito.when( ~ ).thenReturn( ~ );
@ExtendWith(SpringExtension.class)
public class MemberServiceTest {
@MockBean // 가짜 객체를 만드는 역할, 가짜 객체이므로 응답을 정의해줘야 함
MemberRepository memberRepository;
~
// given
Mockito.when(memberRepository.save(Mockito.any(Member.class))) // 가짜 객체의 로직에대해, 응답을 정의
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(memberRepository.findByName("hi1")).thenReturn(Optional.of(member1));
@ExtendWith(MockitoExtension.class)
Mockito의 Mock 객체를 사용하기 위한 Annotation, class 위에 달아준다
'Spring > 테스트코드' 카테고리의 다른 글
| 단위 테스트, 통합 테스트 (0) | 2024.08.13 |
|---|---|
| Assertions( assertJ 라이브러리 ) (1) | 2024.08.13 |
| Spring Boot 테스트종류 (0) | 2024.05.23 |
| JUnit (0) | 2022.11.24 |