Tengo algunos métodos de utilidad estáticos en mi proyecto, algunos de ellos simplemente pasan o lanzan una excepción. Hay muchos ejemplos sobre cómo simular un método estático que tiene un tipo de devolución que no es nulo. Pero, ¿cómo puedo simular un método estático que devuelve vacío a solo "doNothing()
"?¿Cómo me burlo de un método estático que devuelve vacío con PowerMock?
La versión no nula utiliza estas líneas de códigos:
@PrepareForTest(StaticResource.class)
...
PowerMockito.mockStatic(StaticResource.class);
...
Mockito.when(StaticResource.getResource("string")).thenReturn("string");
Sin embargo, si se aplica a un StaticResources
que devuelve void
, la compilación se quejará de que when(T)
no es aplicable para el vacío ...
¿Alguna idea?
Una solución alternativa sería simplemente tener todos los métodos estáticos para devolver el resultado Boolean
pero no me gustan las soluciones.
desgracia que no va a funcionar como cuando() sólo acepta una variable y StaticResource es un tipo. ('StaticResource no se puede resolver en una variable ') – Pete
Oh, sí lo siento, tienes razón en que mi código está equivocado, estoy acostumbrado a los simulacros no estáticos. De todos modos, actualicé mi respuesta para reflejar la sintaxis correcta. – Brice
¡Gracias! ¿Entonces tener métodos estáticos de ayuda que no tienen dependencias es una mala idea? Por supuesto que podría simplemente inyectar y objetar que hace el trabajo, pero parece que tiene sentido poner a los trabajadores que no tienen dependencias en un objeto estático para expresar su independencia. – Pete