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