Posts junit - spy
Post
Cancel

junit - spy

Mock 객체와는 달리 객체의 특정 메서드만 stub으로 대체할 수 있는 방법을 제공한다.

다음과 같이 만약 테스트 대상 객체의 특정한 메서드를 stub 처리하고 싶을 때 사용한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@ExtendWith(MockitoExtension.class)
public class BoardServiceTest{  
  @Spy
  private BoardService boardService;
  
  @Test
  public void 인증_실패시_예외발생() {
    // boardService의 인증을 담당하는 메서드를 stub 처리함
    doReturn(false).when(boardService).checkAuthorization(anyLong(), anyString());

    // boardService의 update 메서드는 정상적으로 호출한 후, 예외를 뱉는지 확인
    assertThrows(ApiException.class, () -> boardService.updateArticle(any()));
  }
}
This post is licensed under CC BY 4.0 by the author.

equals(), hashCode()

json 응답 시 특정 필드 빼고 보내기

Comments powered by Disqus.