더북(TheBook)

3.2.2 옛 방식: try/catch와 fail

발생한 예외를 처리하는 방법으로 try/catch 블록을 활용할 수도 있습니다. 예외가 발생하지 않으면 org.junit.Assert.fail() 메서드를 호출하여 강제로 실패합니다.

iloveyouboss_13/test/scratch/AssertTest.java

try {
    account.withdraw(100);
    fail();
}
catch (InsufficientFundsException expected) {
}

 

계좌에서 인출할 때 예외가 발생하면 제어권은 catch 블록으로 넘어가고 테스트가 종료됩니다. 즉, 테스트 통과입니다. 그렇지 않으면 제어권은 fail 문으로 넘어갑니다. 앞과 같은 try/catch 구문은 희귀한 경우로 비어 있는 catch 블록이 허용됩니다. 예외 변수를 expected로 명명하여 코드를 읽는 사람에게 예외를 예상했고 잡았다는 것을 강조할 수 있습니다.

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