“The approach shown... is a common pattern for testing exception-throwing behavior with JUnit. @Test public void missingValueRaisesException() throws Exception { try { new Template("${foo}").evaluate(); fail("evaluate() should throw an exception if " + "a variable was left without a value!"); } catch (MissingValueException expected) { } }” Programming2008Software TestingCode SampleJunit Book:Test Driven: Practical TDD and Acceptance TDD for Java Developers Source: Test Driven: Practical TDD and Acceptance TDD for Java Developers