Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 자바
- JUnit5
- longwritable
- 자바 평균
- 자바 자료형
- 자바 정규식
- java logger
- mybatis
- html2canvas
- Mapper
- java 자료형
- Logger
- reducer
- mybatis query
- 자바 총점
- 자료형
- hadoop
- mybatis parameter
- mybatis sql
- java
- assertThrows
Archives
- Today
- Total
운동하고개발하고
[JUnit5] JUnit4의 @Test(expected=...) 을 JUnit5 에서 사용하기 assertThrows 본문
Back-End/SPRING
[JUnit5] JUnit4의 @Test(expected=...) 을 JUnit5 에서 사용하기 assertThrows
세폴리아 2021. 11. 2. 10:19JUnit4 에서는 @Test 어노테이션을 사용할때
@Test(expected = .. ) 으로 Exception 처리를 할 수 있었는데...
최근에 JUnit5를 사용해서 똑같이 @Test(expected= .. ) 를 했더니 빨간줄이 뜬다.
JUnit5에서 @Test 어노테이션에 파라미터로는 이제 없는 듯 합니다.
인텔리제이에 도움을 얻어보려 했으나 No suggestions ...
역시 이럴땐 구글링 ~~
JUnit5를 exception 을 처리하는 예제가 엄청 많네요
기본적으로 assertThrows를 사용하는 것 같습니다.
public static <T extends Throwable> T assertThrows(Class<T> expectedType, Executable executable) {
return AssertThrows.assertThrows(expectedType, executable);
}
public static <T extends Throwable> T assertThrows(Class<T> expectedType, Executable executable, String message) {
return AssertThrows.assertThrows(expectedType, executable, message);
}
assertThrows 에 대한 문법입니다.
첫번째는 exception class, 두번째는 Executable class , 세번째는 String message
( 이제 message가 맨뒤로 다 옮겨진 것 같네요.. )
그래서 공부하고 있는 예제를 바로 변경 ~
assertThrows(NotEnoughStockException.class, () -> {
orderService.order(member.getId(), item.getId(), orderCount);
});
잘 작동됩니다!
다른 분들의 예제를 참고하는 assertThrows의 리턴타입으로 equal 확인을 하더라구요.
그래서 저도 따라해봤습니다.
NotEnoughStockException exception =
assertThrows(NotEnoughStockException.class, () -> {
orderService.order(member.getId(), item.getId(), orderCount);
});
assertEquals("need more stock", exception.getMessage());
어떤게 더 편한지는 개인취향~~
JUnit5의 Assertions에 대한 자세한 정보는 docs 참고해주세요.
https://junit.org/junit5/docs/5.0.1/api/org/junit/jupiter/api/Assertions.html
'Back-End > SPRING' 카테고리의 다른 글
HttpClient 4 – Cancel Request (0) | 2021.11.01 |
---|