java, junit 예외 테스트 (assertJ)
예외처리
- 테스트 코드 중 발생하는 예외에 대해서도 테스트를 할 수 있다. 이때 assertJ의
assertThatThrownBy
를 사용한다. - 람다를 사용하여 예외가 발생할 것으로 기대하는 코드를 작성한다.
- isInstanceOf로 예외가 발생할 타입을 작성한다.
- cause, message 등 스트림을 활용하여 구체적으로 평가할 수 있다.
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@Test
void 예외_연습(){
assertThatThrownBy(() -> {throw new RuntimeException("실패!", new Exception("예제 실패!"));})
.isInstanceOf(RuntimeException.class)
.hasMessage("실패!")
.hasCause(new Exception("예제 실패!"));
}