더북(TheBook)

3.2.1 단순한 방식: 애너테이션 사용

JUnit의 @Test 애너테이션은 기대한 예외를 지정할 수 있는 인자를 제공합니다.

iloveyouboss_13/test/scratch/AssertTest.java

@Test(expected=InsufficientFundsException.class)
public void throwsWhenWithdrawingTooMuch() {
    account.withdraw(100);
}

 

throwsWhenWithdrawingTooMuch 메서드를 실행할 때 InsufficientFunds Exception 예외가 발생하면 테스트는 통과합니다. 그렇지 않으면 테스트는 다음과 같이 실패합니다.

java.lang.AssertionError:
  Expected exception: scratch.AssertTest$InsufficientFundsException
...

throwsWhenWithdrawingTooMuch 메서드의 내용(account.withdraw(100);)을 주석 처리하고 테스트를 실행하면 이 예외를 볼 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.