Let JUnit Handle Exceptions

 class​ LogbookTest {
 
  @Test
 void​ readLogbook() {
  Logbook logbook = ​new​ Logbook();
 
 try​ {
  List<String> entries = logbook.readAllEntries();
  Assertions.assertEquals(13, entries.size());
  } ​catch​ (IOException e) {
» Assertions.fail(e.getMessage());
  }
  }
 
  @Test
 void​ readLogbookFail() {
  Logbook logbook = ​new​ Logbook();
 
 try​ {
  logbook.readAllEntries();
» Assertions.fail(​"read should fail"​);
  } ​catch​ (IOException ignored) {}
  }
 }

Tests and exceptions often go hand-in-hand. Tests ensure that no exceptions are thrown, or that a particular exception must be thrown.

Let’s look at the code. There’s two examples of tests that depend on exceptions in different ways. The first one ...

Get Java By Comparison now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.