En primer lugar, si espera que el API se prueba a una excepción, en vez de hacer un try-catch
con un fail()
...
@Test
public void testMe() {
try {
api.testThis();
fail("should not reach here");
}
catch(MyException e) {}
}
... usted debe hacer esto: -
@Test(expected=MyException.class)
public void testMe() {
api.testThis();
}
Dicho esto, rara vez uso fail()
. Si necesito para llevar a cabo cierta validación y la condición de falla, lo haré afirmaciones uso más probable que el uso de fail()
... por ejemplo: -
... en lugar de ...
@Test
public void testMe() {
boolean bool = api.testThis();
if (!bool) {
fail("should be true because bla bla bla");
}
}
... hacer esto: -
@Test
public void testMe() {
boolean bool = api.testThis();
assertTrue("bla bla bla",bool);
}
sin embargo, si usted realmente necesita usar fail()
, sea más explícito y explicar por qué se produce un error en lugar de "no debería llegar aquí" o "debe dejar aquí", porque eso no ayuda a la gente que lea los cuadros de prueba.
De acuerdo, estos son solo ejemplos simples ... pero creo que entiendo mis puntos. :)
también me gusta tu nombre de usuario :) – JAM