Esperando uma exceção JUnit

Ao esperar exceções no código em vez de

@Test(expected=Exception.class)
public void doFooTest(){...}

faça algo assim

public class FooTest {
@Rule
public ExpectedException exception = ExpectedException.none();

@Test
public void doFooTest() {
Bar bar = new Bar();

exception
.expect(IndexOutOfBoundsException.class);
bar
.doStuff();
}
}

porque o teste irá falhar se a exceção não for lançada no segundo caso, mas no primeiro, mesmo se a exceção não for lançada, ele terá sucesso