Pregunta

Tengo dos pruebas para comprobar de banda excepción esperada. Estoy usando Junit 4 y tiene la sintaxis siguiente.

@Test(expected=IllegalArgumentException.class)
public void testSomething(){
..........
}

Una de las pruebas falla, aunque IllegalArgumentException es lanzada y los otros pases. ¿Alguna idea de cuál falta ?? He modificado la prueba que está fallando en siguiente y pasa.

public void testSomething(){
 try{
  ............ //line that throws exception
  fail();
 }catch(IllegalArgumentException e) {
 }
} 
¿Fue útil?

Solución

Prithis sólo algo que notado la segunda prueba no tiene anotación @test en absoluto. Junit4 no se ejecuta pruebas que no están anotados incluso si los nombres de los métodos de prueba comienza con *** (a menos que, por supuesto, en realidad se extiende la clase TestCase en cuyo caso se comporta como un caso de prueba JUNIT3.x)

Tal vez ese es el caso de que la prueba no se está ejecutando en absoluto (y por lo tanto le hace pensar que pasa)?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top