utilizo PowerMock 1.4.7 y 4.8.2 JUnitPowerMock: El imitar de métodos estáticos (+ devolver valores originales en algunos métodos particulares)
necesito para burlarse solamente algunos métodos estáticos y quiero que los demás (del misma clase) solo para devolver el valor original. Cuando me burlo con mockStatic
y no llamo a when().doReturn()
, todos los métodos estáticos devuelven sus valores predeterminados, como null al devolver el objeto o falso al devolver booleanos ... etc. Así que trato de usar thenCallRealMethod
explícitamente en cada método estático para devolver la implementación predeterminada (significa no burlarse/sin falsificaciones) pero no sé cómo llamarlo en cada posible variación de argumentos (= Quiero para cada posible llamada de entrada método original). Solo sé cómo simular una variación concreta de argumento.
Aunque esto funciona, tenga cuidado al usar los argumentos de matcher. Si tuviera que usar _Mockito.any() _ y está tratando de anclar el método de un espía, se invoca el real getB() impl durante la evaluación de la declaración de stubbing. Si getB() no puede manejar argumentos nulos, se lanzará un NPE. –