Soy nuevo en Mockito y quiero usarlo en pruebas unitarias.Lanzar excepción en lugar de devolver el valor predeterminado
Lo que no me gusta son los simulacros creados con Mockito.mock(Class<T>)
valores por defecto de devolución (como null
) para los métodos que no tienen un comportamiento explícitamente definido. En cambio, quiero que emitan una excepción en este caso, así que sé que necesito agregar esta definición.
He intentado lo siguiente:
SomeType m = mock(SomeType.class, new ThrowsException(new SomeRuntimeException(...)));
when(m.a()).thenReturn(...);
m.a(); // ok
m.b(); // throws exception
Pero eso no funcionará porque la excepción ya está lanzada durante la llamada a when()
.
¿Hay alguna otra forma de lograr esto?
+1: caso de uso interesante! Nunca había pensado en este :-) –