Mockito prueba un método nulo arroja una excepción
Tengo un método con un void
tipo de retorno. También puede generar una serie de excepciones, por lo que me gustaría probar las excepciones que se generan. Todos los intentos han fracasado por la misma razón:
El método when(T) en el tipo Stubber no es aplicable para los argumentos (void)
¿Alguna idea de cómo puedo hacer que el método arroje una excepción específica?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
Aceptado
Los paréntesis están mal colocados.
Necesitas usar:
doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
^
y NO usar:
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
^
Esto se explica en la documentación.
Si alguna vez te preguntaste cómo hacerlo usando el nuevo estilo BDD de Mockito:
willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
Y para referencia futura, es posible que sea necesario generar una excepción y luego no hacer nada:
willThrow(new Exception()).willDoNothing().given(mockedObject).methodReturningVoid(...));