728x90
반응형
스프링 공부를 하던 중 예외테스트를 하는 법을 보았다.
하지만 직접 코드를 처보니 expected 자체가 존재하지 않았다.
알고 보니 아래 방식은 JUnit5에서 예외를 테스트 하는 법이다.
@Test(expected = IllegalStateException.class)
public void ExceptionTest() throws Exception {
//code
fail("IllegalStateException 예외 발생해야 한다");
}
위 메소드에서 IllegalStateException이 발생한다고 예측한다는 뜻이다.
만약 발생하지 않는다면 fail안에 있는 메시지가 출력된다.
그럼 JUnit5에서는 어떻게 할까?
@Test
public void ExceptionTest() throws Exception {
assertThrows(IllegalStateException.class, () -> {
testmethod(int para1, String para2);
}, "IllegalStateException 예외가 발생해야한다.");
}
람다 표현식과 assertThrows를 통해 testmethod에서 IllegalStateException예외가 발생한다고 예측한다.
만약 발생하지 않는다면 메시지가 출력된다.
람다 표현식에 대해 아직 제대로 몰라 어떤 방식으로 작동되는지는 확실하게 몰라 좀 더 공부해야겠다.
728x90
반응형
'개념 정리 > Spring' 카테고리의 다른 글
[Spring] ShedLock을 통해 서버간 스케줄 중복 수행 방지 (0) | 2023.07.29 |
---|---|
[Spring] @Scheduled 이용해 특정 시간마다 함수 호출하기 (0) | 2023.07.24 |
[Spring Security] 기본 로그인 화면 제거 (0) | 2023.07.23 |
[Spring] UUID와 increment PK를 언제 사용할까? (0) | 2023.07.19 |
[Spring] 스프링 DTO (0) | 2023.07.03 |