4.1.06

Probando excepciones con JUnit.

Saludos.

Escribir una prueba con JUnit que compruebe si salta o no una excepción es muy sencillo. Por ejemplo, supongamos que queremos probar un método con la
siguiente cabecera:


public Empleado obtenerEmpleado(String DNI)
throws DNIErroneo



Vamos a escribir, en primer lugar, una prueba que compruebe que cuando le indicamos un DNI correcto, no lanza la excepción:


public void testDNICorrectoNoExcepcion() {
try {
// Nota: es un DNI inventado. Supongamos que es correcto
obtenerEmpleado("18665230F");
} catch (DNIErroneo e) {
fail();
}
}



Como se puede ver, si surge una excepción se ejecuta fail(), lo cuál termina el caso de prueba con error. Si no, termina normalmente.

Ahora vamos a escribir una prueba que verifique lo contrario. Le indicaremos al método un DNI erróneo y verificaremos que nos devuelve una excepción.


public void testDNIErroneoExcepcion() {
try {
// Nota: es un DNI inventado. Supongamos que es correcto
obtenerEmpleado("18665230F");
} catch (DNIErroneo e) {
return;
}
fail();
}



Ahora, fail() se ejecutará si no ha aparecido la la excepción de DNI erróneo. Si aparee cualquier otra excepción, la prueba también fallará.

No comments: