Mockito를 이용한 test code에서 static 메서드를 테스트하는 법.

nathon·2023년 4월 14일
0

test_code

목록 보기
1/1
post-thumbnail
@ExtendWith(MockitoExtension.class)
classMediaBaseServiceTests {

@Mock
PhotobookService photobookService;

@Mock
VideoService videoService;

@InjectMocks
MediaBaseService mediaBaseService;

@Test
voidhasMediaByNotHasUserInfo() {
        UserDetailDto userDetailDto =newUserDetailDto();

//static method를 호출하기 위해 MockedStatic으로 선언
MockedStatic<UserDetailDto> userDetailDtoMockedStatic = Mockito.mockStatic(UserDetailDto.class);

        when(UserDetailDto.get()).thenReturn(userDetailDto);

        Assertions.assertFalse(mediaBaseService.hasMedia(1L));
    }

mockstatic 사용 필요.

mockstatic의 경우 mockito 3.4.0버전 이후부터 지원

build.gradle에 추가

testImplementation('org.mockito:mockito-inline:3.4.0')

위의 코드처럼 class을 mockito.mockstatic으로 선언 후에 static method를 call하여 테스트가 가능하다.

profile
우당탕탕 발을 떼어 보는거야

0개의 댓글