•
호출시 반환 값을 명시하고 내용에 따라 동작하도록 프로그래밍된 객체이다.
•
Mockito 테스트 프레임워크가 대표적인 Mock 프레임워크다.
@ExtendWith(MockitoExtension.class)
public class UserProfileServiceTest {
@Mock
private UserProfileRepository userProfileRepository;
@Test
void test() {
when(userProfileRepository.findById(anyLong())).thenReturn(new User(1, "Test User"));
User actual = userService.findById(1);
assertThat(actual.getId()).isEqualTo(1);
assertThat(actual.getName()).isEqualTo("Test User");
}
}
Java
복사
•
when에서 userProfileRepository의 메소드를 정의하는 것을 확인할 수 있다.
•
또는 anyLong 대신 특정 값을 통해 특정 상황에 대한 테스트도 가능하다.