tengo una clase que implementa InvocationHandler de la siguiente manera:¿Cómo me burlo de la clase java.lang.reflect.Method en PowerMockito?
public class MyProxyClass implements InvocationHandler
{
public Object invoke (Object proxy, Method method, Object[] args) throws Throwable
{
//Do something interesting here
}
}
Usando PowerMock & Mockito, estoy tratando de pasar en un método objeto burlado en mi clase de prueba de unidad:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Method.class})
public class MyProxyTest
{
MyProxy underTest;
@Test
public void testInvoke() throws Throwable
{
Method mockMethod = mock(Method.class);
//...
}
}
Desde Método es final
, he hecho el truco @PrepareForTest
pero eso no parece cortarlo. ¿Esto es porque está arrancado? ¿Acaso estoy haciendo esto mal?
He estado buscando en los enlaces de abajo pero no hay nada definitivo ahí:
- https://code.google.com/p/powermock/wiki/MockitoUsage13
- https://code.google.com/p/powermock/wiki/MockSystem
- éste parece más orientado hacia los métodos estáticos que la creación de una maqueta de un clase final.
Sí, parece un problema similar. Terminé recorriendo la ruta de crear un objeto Método normalmente a partir de un simulacro, y luego verificando que el método se invocó en el simulacro. ¡Gracias! –