[Java Project] 테스트 코드에서 assertThrows 사용하기

Erin Lee·2024년 3월 13일
0

Project

목록 보기
3/5
post-thumbnail

Assertions


Junit 에서 제공하는 클래스로 테스트시 예측되는 결과를 정의할 때 사용된다.
Assertions 클래스는 여러 메서드로 인자값으로 받은 객체들을 정의내릴 수 있다.
예외를 던지는지, 안던지는지, 동일한지 등에 대해 지정해줄 수 있다.

assertThrows


assertThrows는 예외가 발생되는 작업을 파라미터로 받아 예외가 발생하지 않으면 실패처리하게 하는 메서드이다.

assertThrows 동작

내부 코드를 살펴보면 아래와 같이 수행되는 것을 알 수 있다.
1. 파라미터로 받은 작업을 실행한다.
2. 작업을 실행할 시 예외가 발생하면 catch문에서 받아 파라미터로 받은 예외와 동일한지 확인한다.
3. 만약 예외가 동일하지 않으면 assertionFailure 예외를 던진다.


assertThrows 메서드 파라미터 값으로 발생될 에러를 지정해주고 테스트할 클래스의 메서드를 넣어주면 메서드가 실행될 시 에러가 발생하지 않을 때 실패하도록 해준다.

결론

=> AdminMapperSerivce에서 새로운 소모임을 등록할 시에 DB에 없는 카테고리 아이디값을 넣으면 IsExistCheckException 를 반환하기 때문에 해당 작업을 테스트하기 위해 Assertions의 메서드중 에러를 반환한다고 정의를 내려주는 assertThrows 메서드를 사용하였다.

profile
내가 설명할 수 있어야 비로소 내가 아는 것이다

0개의 댓글