How do you assert that a certain exception is thrown in JUnit 4 tests?

829 views
0

How do you assert that a certain exception is thrown in JUnit 4 tests?

How can I use JUnit4 idiomatically to test that some code throws an exception?

While I can certainly do something like this:

@Test
public void testFooThrowsIndexOutOfBoundsException() {
boolean thrown = false;

try {
foo.doStuff();
} catch (IndexOutOfBoundsException e) {
thrown = true;
}

assertTrue(thrown);
}

I recall that there is an annotation or an Assert.xyz or something that is far less kludgy and far more in-the-spirit of JUnit for these sorts of situations.