Mockito prueba un método void lanza una excepción


Tengo un método con un tipo de retorno void. También puede lanzar una serie de excepciones, así que me gustaría probar esas excepciones se. Todos los intentos han fallado por la misma razón:

El método cuando (T) en el tipo Stubber no es aplicable para los argumentos (void)

¿Alguna idea de cómo puedo obtener el método para lanzar una excepción especificada?

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
Author: edwardmlyte, 2013-03-01

1 answers

Los paréntesis están mal colocados. Debe utilizar

doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
                                          ^

Y no

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
                                                                   ^

Esto se explica en la documentación

 524
Author: JB Nizet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-20 07:17:01