service 레이어 Junit test

개발하는 구황작물·2023년 2월 7일
0

개인 프로젝트

목록 보기
2/9

개인 플젝을 진행하면서 unit test를 적용하기로 하였다. 그 중 Service 레이어에 해당하는 unit Test 적용 방법이다.

@ExtendWith(MockitoExtension.class) // (1
public class TodoServiceTest {
	
    @InjectMocks // (2
    private TodoService todoService;

    @Mock // (3
    private TodoRepository todoRepository;
    
}

(1 : @Mock 사용을 위해 Mockito 테스트 실행을 확장시켜주기위해 붙인다.
(2 : @Mock가 붙은 객체를 @InjectMock에 붙은 객체에 주입 시킬 수 있다.
(3 : 로직이 삭제된 빈 껍데기로 실제 메서드는 가지고 있으나 내부구현이 없는 목업 상태로 만든다.

가끔 @Spy 라는 어노테이션을 쓰기도 하는데, 지정한 객체의 일부만 Mocking 하고 나머지는 기존 기능 그대로 사용하기 위해 사용된다.

@ExtendWith(MockitoExtension.class) // (1
public class TodoServiceTest {
	
    @Spy
    @InjectMocks // (2
    private TodoService todoService;

    @Mock // (3
    private TodoRepository todoRepository;
    
}
profile
어쩌다보니 개발하게 된 구황작물

0개의 댓글