Ho una classe che implementa InvocationHandler come di seguito:Come faccio a prendere in giro la classe java.lang.reflect.Method in PowerMockito?
public class MyProxyClass implements InvocationHandler
{
public Object invoke (Object proxy, Method method, Object[] args) throws Throwable
{
//Do something interesting here
}
}
Utilizzando PowerMock & Mockito, sto cercando di passare un oggetto metodo deriso nella mia classe unit test:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Method.class})
public class MyProxyTest
{
MyProxy underTest;
@Test
public void testInvoke() throws Throwable
{
Method mockMethod = mock(Method.class);
//...
}
}
Dal Metodo è final
, ho fatto il trucco @PrepareForTest
ma non sembra che lo tagli. È perché è bootstrap? Sto solo facendo questo sbagliato?
Sono stato a guardare i link qui sotto ma non c'è nulla di definitivo c'è:
- https://code.google.com/p/powermock/wiki/MockitoUsage13
- https://code.google.com/p/powermock/wiki/MockSystem
- questo sembra più orientata verso i metodi statici che creare una finta di un classe finale.
Sì, sembra un problema simile. Ho finito per passare alla creazione di un oggetto Method normalmente da una simulazione, verificando poi che il metodo fosse invocato sulla simulazione. Grazie! –