문제 :
JUnit4 는 @Test 어노테이션에 'expected' 파라미터를 지원하여 예외 클래스를 등록할 수 있다.
그러나 JUnit5는 이를 지원하지 않는다.
해결 방법 :
이를 대체 하기 위해 'assertThrows' 를 이용한다.
assertThrows 는 'expection.class' , 'executable.class' , message 순으로 매개변수를 받는다.
적용 사례 :
1. 10개의 재고 수량 보다 적은 9개로 구매 수량을 설정
재고 수량 보다 적은 구매 수량이 설정되었기 때문에, 서비스가 정상적으로 작동한다.
=> 예외가 발생하지 않았기 때문에 오류 메시지가 출력될 것 이다.
예외가 발생해야 하는데 예외가 발생하지 않았다는 오류 메시지가 발생하였다.
2. 10개의 재고 수량 보다 많은 11개로 구매 수량을 설정
재고 수량 보다 많은 구매 수량이 설정되었기 때문에, 서비스가 오류가 발생한다.
=> 예외가 발생하였기 때문에 TEST 가 성공으로 수행될 것이다.
TEST 가 정상적으로 수행되었다.