본문 바로가기
Spring/Spring-detail

assertThatThrownBy 테스트

by YoonJong 2022. 8. 17.
728x90

Junit5 에서는 예외테스트를 진행할 때 try - catch 보다 해당 메소드를 많이 사용하는 것 같다.

가독성이 좋아서 그런것 같기도하다.

 

아주 간단한 예제이지만, 혼자 구글링하면서 적용했다는 것에 칭찬하며, 혹시 다음에 까먹을까봐 기록해둔다.

 

JPA 실전 강의에서 나온 entity 서비스이다.

재고가 0 밑으로 떨어지면 NotEnoughStockException 예외를 발생시키면서, "need more stock" 이라는 메세지를 보낸다.

 

assertThatThrownBy 의 문법은 람다를 사용한다.

    assertThatThrownBy(() -> item.removeStock(11) )
            .isInstanceOf(NotEnoughStockException.class)
            .hasMessage("need more stock");
}

() -> 테스트 원하는 코드 작성

.isInstanceof -> 발생하는예외타입

.hasMessage -> 예외발생시 발생하는 메시지

 

 

 

hasMessage 를 내가 정한 메시지가 아니면 아래와 같은 에러가 발생한다.

   assertThatThrownBy(() -> item.removeStock(11) )
            .isInstanceOf(NotEnoughStockException.class)
            .hasMessage("need more stock11");
}

 

 

728x90

'Spring > Spring-detail' 카테고리의 다른 글

ResponseEntity<T>  (0) 2022.08.31
assertThrows 예외 테스트  (0) 2022.08.21
테스트 케이스 설정 방법 - Memory DB 사용하기  (0) 2022.08.17
@Profile 활용하기  (0) 2022.07.21
@JsonIgnore 와 @JsonIgnoreProperties  (0) 2022.07.08

댓글